[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
master 1a8b34a503e: Makeshift solution for X server bug
From: |
Po Lu |
Subject: |
master 1a8b34a503e: Makeshift solution for X server bug |
Date: |
Sun, 17 Mar 2024 21:14:41 -0400 (EDT) |
branch: master
commit 1a8b34a503e5af32851c1aac27a3f09e2345673b
Author: Po Lu <luangruo@yahoo.com>
Commit: Po Lu <luangruo@yahoo.com>
Makeshift solution for X server bug
* src/xterm.c (x_sync_init_fences): Detect errors around
XSyncCreateFence. (bug#69762)
---
src/xterm.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/src/xterm.c b/src/xterm.c
index c30015ec8f0..b30a2485148 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -7292,6 +7292,11 @@ x_sync_init_fences (struct frame *f)
&& dpyinfo->xsync_minor < 1))
return;
+ /* Suppress errors around XSyncCreateFence requests, since its
+ implementations on certain X servers erroneously reject valid
+ drawables, such as the frame's inner window. (bug#69762) */
+
+ x_catch_errors (dpyinfo->display);
output->sync_fences[0]
= XSyncCreateFence (FRAME_X_DISPLAY (f),
/* The drawable given below is only used to
@@ -7303,6 +7308,9 @@ x_sync_init_fences (struct frame *f)
= XSyncCreateFence (FRAME_X_DISPLAY (f),
FRAME_X_WINDOW (f),
False);
+ if (x_had_errors_p (dpyinfo->display))
+ output->sync_fences[1] = output->sync_fences[0] = None;
+ x_uncatch_errors_after_check ();
XChangeProperty (FRAME_X_DISPLAY (f), FRAME_OUTER_WINDOW (f),
dpyinfo->Xatom_net_wm_sync_fences, XA_CARDINAL,
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- master 1a8b34a503e: Makeshift solution for X server bug,
Po Lu <=