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 703188 - Stage doesn't appear when running under Wayland
Stage doesn't appear when running under Wayland
Status: RESOLVED FIXED
Product: clutter
Classification: Platform
Component: wayland
unspecified
Other All
: Normal major
: ---
Assigned To: clutter-maint
clutter-maint
Depends on:
Blocks:
 
 
Reported: 2013-06-27 13:43 UTC by Rob Bradford
Modified: 2013-07-02 15:00 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
wayland: show the Cogl onscreen when showing the stage (1.37 KB, patch)
2013-06-27 13:43 UTC, Rob Bradford
reviewed Details | Review
wayland: make the surface toplevel when showing the stage (1.69 KB, patch)
2013-06-28 11:42 UTC, Rob Bradford
committed Details | Review

Description Rob Bradford 2013-06-27 13:43:10 UTC
Following changes in the Cogl behaviour around calling
wl_shell_surface_set_toplevel we must adapt our behaviour to trigger Cogl to
make this API call.

As mentioned in the commit message - we will need to revisit this when we land
the foreign surface support (https://bugzilla.gnome.org/show_bug.cgi?id=699578)
Comment 1 Rob Bradford 2013-06-27 13:43:12 UTC
Created attachment 247903 [details] [review]
wayland: show the Cogl onscreen when showing the stage

Cogl (as of 0b2b46ce) now only sets the shell surface as toplevel when
the CoglOnscreen is shown.

Without calling wl_shell_surface_set_toplevel the compositor will not
know what role to give to the compositor and thus the stage will not
appear.

When we look to support multiple roles / foreign surfaces we will need
to revisit this call and ensure we only call it when we are working in
the default case.
Comment 2 Emmanuele Bassi (:ebassi) 2013-06-27 13:57:42 UTC
Review of attachment 247903 [details] [review]:

why can't cogl_onscreen_show() be called on the generic ClutterStageCogl implementation? would this have side effects when called on other backends?
Comment 3 Rob Bradford 2013-06-27 15:01:35 UTC
(In reply to comment #2)
> Review of attachment 247903 [details] [review]:
> 
> why can't cogl_onscreen_show() be called on the generic ClutterStageCogl
> implementation? would this have side effects when called on other backends?

Thanks for the prompt feedback. I'll definitely look at doing that there - although I think it might just be better to go straight in an call wl_shell_surface_toplevel.

We've never called cogl_onscreen_show and I have no idea what effect that might have. This will also make things less confusing when we deal with the foreign surface where we definitely don't want to set_toplevel.
Comment 4 Rob Bradford 2013-06-28 11:42:09 UTC
Created attachment 247968 [details] [review]
wayland: make the surface toplevel when showing the stage

Cogl (as of 0b2b46ce) now only sets the shell surface as toplevel when
the CoglOnscreen is shown.

Without calling wl_shell_surface_set_toplevel the compositor will not
know what role to give to the compositor and thus the stage will not
appear.

When we look to support multiple roles / foreign surfaces we will need
to revisit this call and ensure we only call it when we are working in
the default case.
Comment 5 Emmanuele Bassi (:ebassi) 2013-07-02 14:39:35 UTC
Review of attachment 247968 [details] [review]:

looks good to me.
Comment 6 Rob Bradford 2013-07-02 15:00:13 UTC
Attachment 247968 [details] pushed as 5c93c0a - wayland: make the surface toplevel when showing the stage