GNOME Bugzilla – Bug 698660
GtkGrid layout broken in 3.9
Last modified: 2013-04-28 23:32:35 UTC
Created attachment 242227 [details] screenshot When I run Gnumeric with GTK 3.9 (unreleased; currently available only in GTK git master), the Gnumeric window appears mostly empty: all rows and columns are squeezed into an area in the lower right quarter of the window. I'll attach a screenshot.
I think it is a save bet that that is a GTK bug or change of behaviour.
It doesn't look like there is any menu or scroll bars either...
There's no menu in the screenshot since I'm running Ubuntu Unity, which puts the menu into the menu bar at the top of the display (and hence outside this screenshot). There are scrollbars in the screenshot, though you may not recognize them at first if you're used to a different theme. I agree that this is quite possibly a GTK bug. (It could conceivably be related to bug 698656, which is vaguely similar.)
It's most probably a bug in GtkGrid code. The children have the same width and height in the screenshot which should not be the case.
How recent is your gtk+? 15:52 < Company> gmorten: and I could imagine that the changes for client-side decrations that mclasen reverted 2 days ago could've caused sth like that
When I filed this bug I had pulled and built GTK from git master within the last day. I just pulled the very latest GTK sources and rebuilt, and with them this bug still occurs.
This has the feel of a bug in the gtk+ development series. Tentatively tossing to gtk+. Feel free to toss it back if there are any indications that we're to blame.
I bisected this. It broke here: https://git.gnome.org/browse/gtk+/commit/?id=5e1a06d1b124f09a1a54d5ae0f38905dbdc2cc81 commit 5e1a06d1b124f09a1a54d5ae0f38905dbdc2cc81 Author: Matthias Clasen <mclasen@redhat.com> Date: Fri Mar 15 23:10:39 2013 -0400 GtkGrid: Tweak size allocation If there are rows that contain only spanning children, our algorithm was unnecessarily distributing extra space to the other rows, even if they contain only non-expanding children. We improve the behaviour by treating rows containing only spanning children as expanding.
Any hope of getting this reverted? We have 8 children of the grid, like this: -7-41 65-41 ----1 33-21 0000- Child #0 Attached at (0,4) with size 4x1 hexpand: 1; hexpand-set: 1 vexpand: 0; vexpand-set: 0 Visible: yes Child #1 Attached at (4,0) with size 1x4 hexpand: 0; hexpand-set: 0 vexpand: 1; vexpand-set: 1 Visible: yes Child #2 Attached at (3,3) with size 1x1 hexpand: 1; hexpand-set: 1 vexpand: 1; vexpand-set: 1 Visible: yes Child #3 Attached at (0,3) with size 2x1 hexpand: 0; hexpand-set: 0 vexpand: 0; vexpand-set: 0 Visible: yes Child #4 Attached at (3,0) with size 1x2 hexpand: 0; hexpand-set: 0 vexpand: 0; vexpand-set: 0 Visible: yes Child #5 Attached at (1,1) with size 1x1 hexpand: 0; hexpand-set: 0 vexpand: 0; vexpand-set: 0 Visible: yes Child #6 Attached at (0,1) with size 1x1 hexpand: 0; hexpand-set: 0 vexpand: 0; vexpand-set: 0 Visible: yes Child #7 Attached at (1,0) with size 1x1 hexpand: 0; hexpand-set: 0 vexpand: 0; vexpand-set: 0 Visible: yes
Why not attach a testcase - that would be so much easier than describing the setup at length, and expecting me to turn it into a testcase and take a guess at the expected behavior.
But you have a testcase: it is called Gnumeric.
Hardly what I would describe as a minimal testcase. I've pushed one now, and a fix.
Thanks, Matthias! I can confirm that Gnumeric looks fine with this update to GTK.