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 744058 - gdk: Disable cogl wayland event dispatching if requested
gdk: Disable cogl wayland event dispatching if requested
Status: RESOLVED FIXED
Product: clutter
Classification: Platform
Component: general
unspecified
Other All
: Normal normal
: ---
Assigned To: clutter-maint
clutter-maint
Depends on:
Blocks:
 
 
Reported: 2015-02-05 17:09 UTC by Rui Matos
Modified: 2015-02-05 17:33 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
gdk: Disable cogl wayland event dispatching if requested (1.11 KB, patch)
2015-02-05 17:09 UTC, Rui Matos
committed Details | Review

Description Rui Matos 2015-02-05 17:09:07 UTC
Trying to get gnome-control-center running well in wayland sessions, I
noticed that the UI doesn't update properly. The stack trace while
it's idling looks like

0  0x00007f090a64d1dd in poll () from /lib64/libc.so.6
1  0x00007f09119aad4d in wl_display_dispatch_queue (display=0x2a2b420, queue=0x2a2b4e0) at src/wayland-client.c:1536
2  0x00007f09119aae63 in wl_display_dispatch (display=0x2a2b420) at src/wayland-client.c:1619
3  0x00007f0912acdfa8 in dispatch_wayland_display_events (user_data=0x2b53ce0, revents=1) at ./winsys/cogl-winsys-egl-wayland.c:204
4  0x00007f0912ab8a01 in cogl_poll_renderer_dispatch (renderer=0x2b53ce0, poll_fds=0x2a379f0, n_poll_fds=1) at ./cogl-poll.c:125
5  0x00007f0912ac5856 in cogl_glib_source_dispatch (source=0x309e710, callback=0x0, user_data=0x0) at ./cogl-glib-source.c:143
6  0x00007f090ae8c5cc in g_main_dispatch (context=0x2a1c9a0) at gmain.c:3122
7  0x00007f090ae8d3fa in g_main_context_dispatch (context=0x2a1c9a0) at gmain.c:3737
8  0x00007f090ae8d5df in g_main_context_iterate (context=0x2a1c9a0, block=1, dispatch=1, self=0x2a0f810) at gmain.c:3808
9  0x00007f090ae8d6a3 in g_main_context_iteration (context=0x2a1c9a0, may_block=1) at gmain.c:3869
10 0x00007f090c129083 in g_application_run (application=0x29ea0f0, argc=1, argv=0x7fff2926cba8) at gapplication.c:2290
11 0x000000000044ca0a in main (argc=1, argv=0x7fff2926cba8) at main.c:52

This patch makes it work tough I'm not sure it's the right
solution. Please review
Comment 1 Rui Matos 2015-02-05 17:09:09 UTC
Created attachment 296212 [details] [review]
gdk: Disable cogl wayland event dispatching if requested

If gdk event retrieval has been disabled and gdk's backend is wayland
we must also disable cogl's wayland event dispatching otherwise cogl
will try to dispatch wayland events itself which blocks the main
loop.
Comment 2 Emmanuele Bassi (:ebassi) 2015-02-05 17:19:41 UTC
Review of attachment 296212 [details] [review]:

it sounds reasonable to me.
Comment 3 Rui Matos 2015-02-05 17:33:43 UTC
Thanks, hopefully this won't break anything :-)

Attachment 296212 [details] pushed as b192ad1 - gdk: Disable cogl wayland event dispatching if requested