GNOME Bugzilla – Bug 698571
[3.8.1 regression] GTK "reconfigures" frequently causing flickering
Last modified: 2013-05-13 04:44:35 UTC
After upgrading to GTK 3.8.1 today (Arch Linux), I noticed that GTK3 apps kept on trying to resize themselves to their (default/desired) size but were, of course, being overridden by the window manager since it is a tiling wm (awesome). This results in a lot of flickering. This can be reproduced by running gtk3-demo and clicking on the menu on the left. Each click results in a flicker. Running with GDK_DEBUG=events shows (presumably the desired size is 600x400 but the wm is resizing it to 958x1059): Gdk-Message: property notify: window: 33554435, atom(359): "_NET_WM_USER_TIME" Gdk-Message: property notify: window: 33554435, atom(40): "WM_NORMAL_HINTS" Gdk-Message: configure notify: window: 33554435 x,y: 0 0 w,h: 600 400 b-w: 0 above: 0 ovr: 0 Gdk-Message: configure notify: window: 33554435 x,y: 0 0 w,h: 958 1059 b-w: 0 above: 0 ovr: 0 Gdk-Message: expose: window: 33554435 1 x,y: 600 0 w,h: 358 400 Gdk-Message: expose: window: 33554435 0 x,y: 0 400 w,h: 958 659 Before the bug, running with GDK_DEBUG=events showed: Gdk-Message: property notify: window: 33554435, atom(359): "_NET_WM_USER_TIME" Gdk-Message: property notify: window: 33554435, atom(40): "WM_NORMAL_HINTS" Bisection showed that the following commit is the problem, introduced between 3.8.0 and 3.8.1: 38b62e4660a470cdda94480d3ab6da467125998e is the first bad commit commit 38b62e4660a470cdda94480d3ab6da467125998e Author: Benjamin Otte <otte@redhat.com> Date: Mon Apr 8 16:25:29 2013 +0200 window: restore size after hide/show properly Old code assumed the size was stored in widget.allocation. This is no longer true as the allocation is cleared upon hide. However, we store the last configure request, and that one tracks the last size, so we can just use that number. Sometimes things are so easy - once you figure them out... https://bugzilla.gnome.org/show_bug.cgi?id=696882 :040000 040000 87c7e99cc41f6a0bf31010192b125d115032df68 6ebeb00cb85cc4d8ef6aa89df21cc08b28e956ab M gtk
An example of using evince in floating mode and pressing the search button: http://rossl.org/ross/evince.ogv Note that this bug is not exclusive to awesome, it also occurs in i3 window manager. Thanks
I see now that the same behavior as shown in the video happens in an up-to-date Fedora 19 running gnome-shell.
I've also experienced totem repeatedly resizing back to the smallest possible size, both with and without "resize video on new video playback", when being told to be 1x, 2x, or even 0.5x size (which is still larger than the smallest possible video window). Fullscreen is not affected, and manually dragging the corner of the screen will cause the video to stay at that size, until a request for 1x, 2x or 0.5x zoom, at which point it will again resize to the smallest possible size video window. Reverting to gtk+-3.8.0 resolves the problem, so it seems highly likely that this is related.
i can not confirm the evince - search button bug. Search works for me, but if i press F9 (toggle sidebar) i'm getting this issue. (resize to 600x600) evince 3.8.0
I believe this has been fixed in gtk master and gtk-3-8