GNOME Bugzilla – Bug 693540
screen: Don't try to move / resize OR windows on montior change
Last modified: 2013-02-10 19:43:42 UTC
See patch.
Created attachment 235636 [details] [review] screen: Don't try to move / resize OR windows on montior change meta_screen_resize calls meta_window_update_for_monitors_changed for all windows including OR windows when the monitors change (or screen size). This calls meta_window_move_between_rects for the window which attempts to move the OR window by calling meta_window_move_resize. meta_window_move_resize refuses to do anything on OR windows (just returns for OR windows). This causes a storm of assert messages and endless flickering when the screen resultion changes while an OR window is visible (like the one gnome-control-center displays with the monitor name). Fix that by not calling meta_window_update_for_monitors_changed for OR windows and let the applications handle them by themselves.
Created attachment 235639 [details] [review] screen: Don't try to move / resize OR windows on montior change meta_screen_resize calls meta_window_update_for_monitors_changed for all windows including OR windows when the monitors change (or screen size). This calls meta_window_move_between_rects for the window which attempts to move the OR window by calling meta_window_move_resize. meta_window_move_resize refuses to do anything on OR windows (just returns for OR windows). This causes a storm of assert messages when the screen resolution changes while an OR window is visible. (like the one gnome-control-center displays with the monitor name). Fix that by not calling meta_window_update_for_monitors_changed for OR windows and let the applications handle them by themselves. --- OK this seems not to cause the flickering (wouldn't make sense anyway) but atleast fixes the: Log level 8: meta_window_move_resize: assertion `!window->override_redirect' failed messages. The flickering (which I only could reproduce in a VM so far) seems to be caused by tons of monitor-changed signals.
Review of attachment 235639 [details] [review]: Not sure why this was there - maybe alexl just cut and paste? But potentially he was trying to get O-R windows not to end up offscreen. It could be confusing if a GTK+ menu was up you plugged in a monitor on the left, and the menu was still up but not visible. Often O-R windows are "attached" to a toplevel window that would get moved - tooltips too. In any case I don't think it's worth reworking things to make the general MetaWindow infrastructure not yell about moving O-R windows - and it's not really ICCCM compliant to move them anyways. So let's go with this.
Attachment 235639 [details] pushed as 2942b22 - screen: Don't try to move / resize OR windows on montior change