[gtk/gtk-3-24: 1/2] x11: Trap error when getting CRTC info
- From: Emmanuele Bassi <ebassi src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/gtk-3-24: 1/2] x11: Trap error when getting CRTC info
- Date: Wed, 24 Nov 2021 16:48:41 +0000 (UTC)
commit 102341ae9f53dad735b2e637892bef3b57361b39
Author: Jonas Ã…dahl <jadahl gmail com>
Date: Wed Nov 17 11:14:00 2021 +0100
x11: Trap error when getting CRTC info
This should fix a race happening when RANDR changes quickly, e.g. during
unit testing where tests change monitor configurations rapidly.
gdk/x11/gdkscreen-x11.c | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
---
diff --git a/gdk/x11/gdkscreen-x11.c b/gdk/x11/gdkscreen-x11.c
index bb4df059bc..81499ba106 100644
--- a/gdk/x11/gdkscreen-x11.c
+++ b/gdk/x11/gdkscreen-x11.c
@@ -568,9 +568,18 @@ init_randr15 (GdkScreen *screen, gboolean *changed)
if (output_info->crtc)
{
- XRRCrtcInfo *crtc = XRRGetCrtcInfo (x11_screen->xdisplay, resources, output_info->crtc);
+ XRRCrtcInfo *crtc;
int j;
+ gdk_x11_display_error_trap_push (display);
+ crtc = XRRGetCrtcInfo (x11_screen->xdisplay, resources,
+ output_info->crtc);
+ if (gdk_x11_display_error_trap_pop (display))
+ {
+ XRRFreeOutputInfo (output_info);
+ continue;
+ }
+
for (j = 0; j < resources->nmode; j++)
{
XRRModeInfo *xmode = &resources->modes[j];
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]