From 1ef35d5d8b8f913f199ac2ebc60647703bc155ba Mon Sep 17 00:00:00 2001 From: Yang Liu Date: Fri, 5 Sep 2025 00:18:44 +0800 Subject: [BOX32] Fixed some strange XErrorEvent case (#3006) --- src/libtools/my_x11_xevent.c | 7 ++++--- 1 file 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; -- cgit 1.4.1