From 1d0680471e424b0f8aa6910295b85d741da1039d Mon Sep 17 00:00:00 2001 From: Bilal Elmoussaoui Date: Mon, 15 Jul 2024 22:12:58 +0200 Subject: [PATCH] cogl/renderer: Never try to enable X11 event retrieval It is always disabled as we always set a foreign display when creating the renderer. Part-of: --- cogl/cogl/cogl-renderer-private.h | 1 - cogl/cogl/cogl-renderer.c | 7 ------ cogl/cogl/cogl-xlib-renderer.c | 36 ------------------------------- 3 files changed, 44 deletions(-) diff --git a/cogl/cogl/cogl-renderer-private.h b/cogl/cogl/cogl-renderer-private.h index 955fe91e4..8ac6084a0 100644 --- a/cogl/cogl/cogl-renderer-private.h +++ b/cogl/cogl/cogl-renderer-private.h @@ -62,7 +62,6 @@ struct _CoglRenderer #ifdef HAVE_X11 Display *foreign_xdpy; - gboolean xlib_enable_event_retrieval; #endif CoglDriver driver; diff --git a/cogl/cogl/cogl-renderer.c b/cogl/cogl/cogl-renderer.c index b2454b556..7d0368b34 100644 --- a/cogl/cogl/cogl-renderer.c +++ b/cogl/cogl/cogl-renderer.c @@ -201,10 +201,6 @@ cogl_renderer_new (void) _cogl_list_init (&renderer->idle_closures); -#ifdef HAVE_X11 - renderer->xlib_enable_event_retrieval = TRUE; -#endif - return renderer; } @@ -220,9 +216,6 @@ cogl_xlib_renderer_set_foreign_display (CoglRenderer *renderer, renderer->foreign_xdpy = xdisplay; - /* If the application is using a foreign display then we can assume - it will also do its own event retrieval */ - renderer->xlib_enable_event_retrieval = FALSE; } #endif /* HAVE_X11 */ diff --git a/cogl/cogl/cogl-xlib-renderer.c b/cogl/cogl/cogl-xlib-renderer.c index 5d96b8eee..d10ae2059 100644 --- a/cogl/cogl/cogl-xlib-renderer.c +++ b/cogl/cogl/cogl-xlib-renderer.c @@ -394,32 +394,6 @@ randr_filter (XEvent *event, return COGL_FILTER_CONTINUE; } -static int64_t -prepare_xlib_events_timeout (void *user_data) -{ - CoglRenderer *renderer = user_data; - CoglXlibRenderer *xlib_renderer = _cogl_xlib_renderer_get_data (renderer); - - return XPending (xlib_renderer->xdpy) ? 0 : -1; -} - -static void -dispatch_xlib_events (void *user_data, int revents) -{ - CoglRenderer *renderer = user_data; - CoglXlibRenderer *xlib_renderer = _cogl_xlib_renderer_get_data (renderer); - - if (renderer->xlib_enable_event_retrieval) - while (XPending (xlib_renderer->xdpy)) - { - XEvent xevent; - - XNextEvent (xlib_renderer->xdpy, &xevent); - - cogl_xlib_renderer_handle_event (renderer, &xevent); - } -} - gboolean _cogl_xlib_renderer_connect (CoglRenderer *renderer, GError **error) { @@ -448,16 +422,6 @@ _cogl_xlib_renderer_connect (CoglRenderer *renderer, GError **error) &randr_error)) x11_renderer->randr_base = -1; - if (renderer->xlib_enable_event_retrieval) - { - _cogl_poll_renderer_add_fd (renderer, - ConnectionNumber (xlib_renderer->xdpy), - COGL_POLL_FD_EVENT_IN, - prepare_xlib_events_timeout, - dispatch_xlib_events, - renderer); - } - XRRSelectInput(xlib_renderer->xdpy, DefaultRootWindow (xlib_renderer->xdpy), RRScreenChangeNotifyMask