diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2025-02-25 11:46:37 +0100 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2025-02-25 11:46:37 +0100 |
| commit | 48f51bd5fef5b9b6ea5ad086cfd44a07c5441d8a (patch) | |
| tree | 699fcdf3f7c0f4572f0b92c35d32742cf5c52770 /src | |
| parent | 940317949a4f6bf75a934840b8a15b41d25d9e1d (diff) | |
| download | box64-48f51bd5fef5b9b6ea5ad086cfd44a07c5441d8a.tar.gz box64-48f51bd5fef5b9b6ea5ad086cfd44a07c5441d8a.zip | |
[BOX32][WRAPPER] Use a temp xcb when converting an unknown xcb_connection instead of adding it
Diffstat (limited to 'src')
| -rw-r--r-- | src/libtools/my_x11_conv.c | 2 | ||||
| -rw-r--r-- | src/libtools/myalignxcb32.c | 13 |
2 files changed, 13 insertions, 2 deletions
diff --git a/src/libtools/my_x11_conv.c b/src/libtools/my_x11_conv.c index 8978f4c9..eb1dadbd 100644 --- a/src/libtools/my_x11_conv.c +++ b/src/libtools/my_x11_conv.c @@ -33,7 +33,7 @@ void* getDisplay(void* d) if(((&my32_Displays_32[i])==d) || (my32_Displays_64[i]==d)) { return my32_Displays_64[i]; } - printf_log(LOG_INFO, "BOX32: Warning, 32bits Display %p not found\n", d); + printf_log(LOG_INFO, "BOX32: Warning, 32bits Display %p not found\n", d); return d; } diff --git a/src/libtools/myalignxcb32.c b/src/libtools/myalignxcb32.c index b9f58d0e..8b539f7d 100644 --- a/src/libtools/myalignxcb32.c +++ b/src/libtools/myalignxcb32.c @@ -73,6 +73,10 @@ typedef struct my_xcb_connection_32_s { #define NXCB 16 static my_xcb_connection_t* my_xcb_connects[NXCB] = {0}; static my_xcb_connection_32_t i386_xcb_connects[NXCB] = {0}; +static my_xcb_connection_t* tmp_xcb_connect = NULL; +static my_xcb_connection_32_t i386_tmp_xcb_connect = {0}; + +void* temp_xcb_connection32(void* src); void* align_xcb_connection32(void* src) { @@ -85,7 +89,7 @@ void* align_xcb_connection32(void* src) dest = my_xcb_connects[i]; #if 1 if(!dest) - dest = add_xcb_connection32(src); + dest = temp_xcb_connection32(src); #else if(!dest) { printf_log(LOG_NONE, "Error, xcb_connect %p not found\n", src); @@ -194,6 +198,13 @@ void* add_xcb_connection32(void* src) return src; } +void* temp_xcb_connection32(void* src) +{ + tmp_xcb_connect = src; + unalign_xcb_connection32(src, &i386_tmp_xcb_connect); + return &i386_tmp_xcb_connect; +} + void del_xcb_connection32(void* src) { if(!src) |