[gtk: 1/2] x11: Trap error when getting CRTC info
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk: 1/2] x11: Trap error when getting CRTC info
- Date: Sat, 20 Nov 2021 14:43:49 +0000 (UTC)
commit b9bdbe9aaecf0aa0726637b8c5466c6e2ff7bfd6
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 e84645bf17..bde0b7dd54 100644
--- a/gdk/x11/gdkscreen-x11.c
+++ b/gdk/x11/gdkscreen-x11.c
@@ -492,9 +492,18 @@ init_randr15 (GdkX11Screen *x11_screen)
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]