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 734852 - Moving stage creation to the backend broke everything
Moving stage creation to the backend broke everything
Status: RESOLVED FIXED
Product: mutter
Classification: Core
Component: general
git master
Other Linux
: Normal normal
: ---
Assigned To: mutter-maint
mutter-maint
Depends on:
Blocks:
 
 
Reported: 2014-08-15 11:19 UTC by drago01
Modified: 2014-08-18 21:28 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
window-x11: The x11 backend window is our window as well (1.37 KB, patch)
2014-08-15 14:55 UTC, drago01
committed Details | Review

Description drago01 2014-08-15 11:19:09 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
----
Comment 1 drago01 2014-08-15 14:55:10 UTC
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.
Comment 2 Jasper St. Pierre (not reading bugmail) 2014-08-15 15:20:29 UTC
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 3 drago01 2014-08-15 15:55:26 UTC
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.
Comment 4 Giovanni Campagna 2014-08-18 21:28:56 UTC
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?