diff options
Diffstat (limited to 'src/libtools')
| -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) |