about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/libtools/my_x11_xevent.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/libtools/my_x11_xevent.c b/src/libtools/my_x11_xevent.c
index bd1bf97f..d1fec986 100644
--- a/src/libtools/my_x11_xevent.c
+++ b/src/libtools/my_x11_xevent.c
@@ -36,9 +36,10 @@ void convertXEvent(my_XEvent_32_t* dst, my_XEvent_t* src)
     if(!src->type) {
         // This is an XErrorEvent, and it's different!
         dst->xerror.type = src->xerror.type;
-        dst->xerror.display = to_ptrv(FindDisplay(src->xerror.display));
-        dst->xerror.resourceid = to_ulong(src->xerror.resourceid);
-        dst->xerror.serial = to_ulong(src->xerror.serial);
+        // use the silent version here because sometimes src->xerror points to some garbage (we don't know why!)
+        dst->xerror.display = to_ptrv_silent(FindDisplay(src->xerror.display));
+        dst->xerror.resourceid = to_ulong_silent(src->xerror.resourceid);
+        dst->xerror.serial = to_ulong_silent(src->xerror.serial);
         dst->xerror.error_code = src->xerror.error_code;
         dst->xerror.request_code = src->xerror.request_code;
         dst->xerror.minor_code = src->xerror.minor_code;