GNOME Bugzilla – Bug 744058
gdk: Disable cogl wayland event dispatching if requested
Last modified: 2015-02-05 17:33:47 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
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.
Review of attachment 296212 [details] [review]: it sounds reasonable to me.
Thanks, hopefully this won't break anything :-) Attachment 296212 [details] pushed as b192ad1 - gdk: Disable cogl wayland event dispatching if requested