GNOME Bugzilla – Bug 734852
Moving stage creation to the backend broke everything
Last modified: 2014-08-18 21:28:56 UTC
When running git master mutter is very broken here I cannot click on anything ... in the overview nothing is drawn correctly etc. I had no clue what changed recently so bisected from 3.13.4 which was working fine. The result was: ----- 467465c99c413376240e9cbd6d832157660e8776 is the first bad commit commit 467465c99c413376240e9cbd6d832157660e8776 Author: Jasper St. Pierre <jstpierre@mecheye.net> Date: Wed Aug 13 19:46:32 2014 -0400 backend: Create the stage in the backend, rather than the compositor This allows creating the stage much earlier than it otherwise would have been. Our initialization sequence has always been a bit haphazard, with first the MetaBackend created, then the MetaDisplay, and inside of that, the MetaScreen and MetaCompositor. Refactor this out so that the MetaBackend creates the Clutter stage. Besides the clarity of early initialization, we now have much easier access to the stage, allowing us to use it for things such as key focus and beyond. :040000 040000 72e6cda292450c02b78efd5455d3312c07ae7b8d c8f16dbcdf45ced1aa1054a40e92ff228cfc8881 M src ----
Created attachment 283509 [details] [review] window-x11: The x11 backend window is our window as well Since commit 467465c99c41 we use meta_stage even on x11 which sets clutter_stage_set_user_resizable to FALSE. This messes things up because we ought to ignore the properties on the window but we apperently didn't.
Review of attachment 283509 [details] [review]: You should probably mention that it doesn't seem like we should have ever managed the stage window, but it slipped through. I don't think this should have any side-effects. Let's hope it doesn't, at least.
Comment on attachment 283509 [details] [review] window-x11: The x11 backend window is our window as well (In reply to comment #2) > Review of attachment 283509 [details] [review]: > > You should probably mention that it doesn't seem like we should have ever > managed the stage window, but it slipped through. I don't think this should > have any side-effects. Let's hope it doesn't, at least. OK; xdnd shouldn't be affected by this and indeed still works. I can't think of any reason why we'd want to manage the stage window. We can't really manage our own windows anyway.
Wait a second... the stage window is not a child of the root window, it's a child of the COW (which we ignore a few lines earlier). Why are why trying to manage a window that is not a toplevel?