From e9e199c4eced90716ea884a68d53d8abba4a2e0a Mon Sep 17 00:00:00 2001 From: Benedikt Heine Date: Wed, 6 Mar 2019 19:21:03 +0100 Subject: [PATCH] Pass pointer to check_screen_event --- src/x11/screen.c | 8 ++++---- src/x11/screen.h | 2 +- src/x11/x.c | 5 ++++- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/src/x11/screen.c b/src/x11/screen.c index 9648c7b..0b590ea 100644 --- a/src/x11/screen.c +++ b/src/x11/screen.c @@ -167,15 +167,15 @@ void randr_update(void) XRRFreeMonitors(m); } -void screen_check_event(XEvent event) +bool screen_check_event(XEvent *ev) { - if (XRRUpdateConfiguration(&event)) { + if (XRRUpdateConfiguration(ev)) { LOG_D("XEvent: processing 'RRScreenChangeNotify'"); randr_update(); - } else { - LOG_D("XEvent: Ignoring '%d'", event.type); + return true; } + return false; } void xinerama_update(void) diff --git a/src/x11/screen.h b/src/x11/screen.h index 1fc2033..fb83bb7 100644 --- a/src/x11/screen.h +++ b/src/x11/screen.h @@ -18,7 +18,7 @@ struct screen_info { void init_screens(void); void screen_dpi_xft_cache_purge(void); -void screen_check_event(XEvent event); +bool screen_check_event(XEvent *ev); struct screen_info *get_active_screen(void); double screen_dpi_get(struct screen_info *scr); diff --git a/src/x11/x.c b/src/x11/x.c index 07d658f..c26ed32 100644 --- a/src/x11/x.c +++ b/src/x11/x.c @@ -355,7 +355,10 @@ gboolean x_mainloop_fd_dispatch(GSource *source, GSourceFunc callback, gpointer } break; default: - screen_check_event(ev); + if (!screen_check_event(&ev)) { + LOG_D("XEvent: Ignoring '%d'", ev.type); + } + break; } }