diff options
| author | Yang Liu <liuyang22@iscas.ac.cn> | 2025-09-05 00:18:44 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-09-04 18:18:44 +0200 |
| commit | 1ef35d5d8b8f913f199ac2ebc60647703bc155ba (patch) | |
| tree | 592091b11dcc5dbf32c485d159f1214ec53de860 /src | |
| parent | 65b7909f6eb886725a64699364d99892b3a1134c (diff) | |
| download | box64-1ef35d5d8b8f913f199ac2ebc60647703bc155ba.tar.gz box64-1ef35d5d8b8f913f199ac2ebc60647703bc155ba.zip | |
[BOX32] Fixed some strange XErrorEvent case (#3006)
Diffstat (limited to 'src')
| -rw-r--r-- | src/libtools/my_x11_xevent.c | 7 |
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; |