After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 588076 - Gnumeric fonts stopped working on upgrading gtk+ 2.17.2 -> 2.17.3
Gnumeric fonts stopped working on upgrading gtk+ 2.17.2 -> 2.17.3
Status: RESOLVED FIXED
Product: gtk+
Classification: Platform
Component: .General
2.17.x
Other All
: Normal major
: ---
Assigned To: gtk-bugs
gtk-bugs
csw
Depends on:
Blocks: 588025
 
 
Reported: 2009-07-08 13:54 UTC by David Ronis
Modified: 2009-07-24 21:27 UTC
See Also:
GNOME target: ---
GNOME version: 2.27/2.28


Attachments
Screenshot showing problem (55.44 KB, image/png)
2009-07-09 14:25 UTC, David Ronis
Details

Description David Ronis 2009-07-08 13:54:45 UTC
Please describe the problem:
Please see bug  588025.  Basically fonts in Gnumeric have stopped working for the spreadsheet cells when I upgraded.   The gnumeric folks think that it's a gtk+ issue.


Steps to reproduce:
1. 
2. 
3. 


Actual results:


Expected results:


Does this happen every time?


Other information:
Comment 1 Matthias Clasen 2009-07-08 14:00:30 UTC
Without further data, hard to say. Always easy to pass the blame...
Comment 2 David Ronis 2009-07-08 14:10:52 UTC
I've got everything built with debugging symbols.   Any suggestions where to look?
Comment 3 Matthias Clasen 2009-07-08 15:30:10 UTC
No idea, offhand. Just tried gnumeric here, and it works fine for me.
Comment 4 David Ronis 2009-07-08 18:21:57 UTC
I just reverted to gtk+ version 2.17.2.  Things work as before.  This is expected, but does confirm that it was the gtk+ change that triggered the problem (and not some other change).

Comment 5 Matthias Clasen 2009-07-08 19:26:37 UTC
It is not unlikely that 2.17.3 causes your problem. After all, it contains the csw merge, which is a pretty fundamental change. However, I don't see the problem with current git (there have been some csw fixes post-2.17.3).

Alex, do you think this could be a csw issue ?
Comment 6 Andreas J. Guelzow 2009-07-09 04:44:36 UTC
"Without further data, hard to say. Always easy to pass the blame..."

Well, when you change only X and things break, chances are that X is related to the problem. 

Comment 7 Alexander Larsson 2009-07-09 10:24:43 UTC
Its not unlikely that some rendering may disappear, as there is a lot of changes wrt clipping and if the clipping goes wrong things will disappear. However, its not something I would expect to happen, although I don't know the details wrt how gnumeric renders its cells.

I don't have gnumeric installed atm and the network is to slow to download it here so I can't test it myself.

Does it only happen with text?
Comment 8 Alexander Larsson 2009-07-09 13:14:42 UTC
I got gnumeric 1.8.4 installed, and I don't see this problem either.
Comment 9 David Ronis 2009-07-09 14:21:37 UTC
I'm running gnumeric-1.9.9.  It seems to happen only with text, specifically with the text in the cells.  Button labels are fine.  I'll attach a screenshot.

David
Comment 10 David Ronis 2009-07-09 14:25:46 UTC
Created attachment 138119 [details]
Screenshot showing problem

The A1 cell should show 123.  In addition the rows labels are all blank--they shoud be 1, 2,....
Other text is fine.
Comment 11 Morten Welinder 2009-07-11 01:10:19 UTC
The missing text in in a foocanvas, far, far larger the 32k that xlib supports.
If gtk+ still emulates 2G pixel coordinates, something might be up there.
Pure speculation, though.
Comment 12 Alexander Larsson 2009-07-11 08:30:11 UTC
We don't emulate 32bit coords/sizes on native windows anymore (i.e. for a toplevel), but for non-native children we do everything in 32bit on the client, so there is no need for the old emulation code.

Still, it could be related to window size somehow, as thats not tested as much.
Comment 13 David Ronis 2009-07-12 02:42:16 UTC
I just tried gtk+ 2.17.4; not surprisingly, the problem is still present.
Comment 14 jeff 2009-07-18 06:33:02 UTC
Gnumeric still doesn't work with gtk+ 2.17.5 .
Comment 15 Matthias Clasen 2009-07-18 20:21:28 UTC
Not need to comment on every bug we didn't fix, for every release we do. 
If this bug gets fixed, it will be closed, and you will notice. 
Thanks for cooperating in keeping my bugspam at an acceptable level.
Comment 16 Jody Goldberg 2009-07-22 23:06:53 UTC
The issue is not present in gnumeric-1.8/goffice-0-6
No obvious changes in either code base (foocanvas, gnm-pane, item-grid).
Comment 17 Jody Goldberg 2009-07-22 23:39:54 UTC
reproduced in gnumeric master with gtk-trunk
Seems related to the increase in max sheet size coupled with the client-side windowing patch

1.8 : foo_canvas_set_scroll_region (... x2=1,000,000, y2=6,000,000) at foo-canvas.c:3027

1.9 : foo_canvas_set_scroll_region (... x2=1,600,000, y2=1,536,000,000)

Shrinking GNM_PANE_MAX_Y back to 6e6 restores things.

Additionally, cell content and row headers, re-appear around row 52050 or so(one needs to scoll past it, the go back up to see the headers disappear).
The Y coordinates don't seem like any familiar magic numbers.
$3 = {x = 0, y = 884878, width = 60, height = 17}
Comment 18 Andreas J. Guelzow 2009-07-22 23:59:54 UTC
There may be another patch involved that fixed the misplacement of certain tooltips.
Comment 19 Andreas J. Guelzow 2009-07-23 00:02:08 UTC
That had to do with bug #586590.
Comment 20 Alexander Larsson 2009-07-24 12:21:34 UTC
Setting GNM_PANE_MAX_Y to 394264450 breaks, but 394264449 works.

394264450 in binary is 10111011111111111111110000010, thats got bit 29 set which is pretty large, but its not really an "even" binary power, so it seems weird.

It seems to affect text mostly, but also the "column selection rectangles" seem to be missing some parts.
Comment 21 Alexander Larsson 2009-07-24 12:29:39 UTC
The pane window gets positioned at y = 126, which means that y + height == 394264576 == binary 10111100000000000000000000000.

That makes slightly more "sense" in terms of magical numbers, but still kinda weird.
Comment 22 David Ronis 2009-07-24 16:44:28 UTC
Could this be a signed/unsigned int problem?  Also, grepping the gnumeric sources shows (in src/gnm-impl.h) that 

#define GNM_PANE_MAX_X 1600000
#define GNM_PANE_MAX_Y 1536000000

Should they be defined as unsigned, e.g., 

#define GNM_PANE_MAX_Y 1536000000U

Also are you suggesting (comment #17) that setting GNM_PANE_MAX_Y to 6e6 fixes the problem?

Comment 23 David Ronis 2009-07-24 17:18:03 UTC
RE: last part of comment #17:  setting GNM_PANE_MAX_Y to 6e6  does indeed "fix" the problem.

Comment 24 Alexander Larsson 2009-07-24 19:43:42 UTC
Fixed by commit a504784b4b458d32e770cab3c0e48229552652a5
Comment 25 David Ronis 2009-07-24 21:27:36 UTC
I applied the patch for a504784b4b458d32e770cab3c0e48229552652a5
to to 2.27.4 gtk+ tarball and rebuilt (reverting any changes I'd made to gnumeric).  
The problem is solved.  Thanks!