about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2024-10-18 16:44:47 +0200
committerptitSeb <sebastien.chev@gmail.com>2024-10-18 16:44:47 +0200
commitb578487d01a5482c85fcd9cab7d45e2ccf510ade (patch)
treead6ed749dc2d4bb4a4223da591ef480014e61931
parentcdf81eb1d7adb3faf8d0050798810742947e09af (diff)
downloadbox64-b578487d01a5482c85fcd9cab7d45e2ccf510ade.tar.gz
box64-b578487d01a5482c85fcd9cab7d45e2ccf510ade.zip
[BOX32] A few more fixes to libX11 wrapping
-rw-r--r--src/libtools/my_x11_conv.c4
-rw-r--r--src/libtools/my_x11_conv.h2
-rw-r--r--src/wrapped32/wrappedlibx11.c2
3 files changed, 4 insertions, 4 deletions
diff --git a/src/libtools/my_x11_conv.c b/src/libtools/my_x11_conv.c
index 720b9e19..68875a34 100644
--- a/src/libtools/my_x11_conv.c
+++ b/src/libtools/my_x11_conv.c
@@ -375,7 +375,7 @@ void inplace_shrink_wmsizehints(void* hints)
     *(long_t*)hints = flags;
 }
 
-void convert_XWindowAttributes_to_32(void* d, void* s)
+void convert_XWindowAttributes_to_32(void* dpy, void* d, void* s)
 {
     my_XWindowAttributes_t* src = s;
     my_XWindowAttributes_32_t* dst = d;
@@ -385,7 +385,7 @@ void convert_XWindowAttributes_to_32(void* d, void* s)
     dst->height = src->height;
     dst->border_width = src->border_width;
     dst->depth = src->depth;
-    dst->visual = to_ptrv(src->visual);
+    dst->visual = to_ptrv(convert_Visual_to_32(dpy, src->visual));
     dst->root = to_ulong(src->root);
     dst->c_class = src->c_class;
     dst->bit_gravity = src->bit_gravity;
diff --git a/src/libtools/my_x11_conv.h b/src/libtools/my_x11_conv.h
index 96a75ca3..709f7cfe 100644
--- a/src/libtools/my_x11_conv.h
+++ b/src/libtools/my_x11_conv.h
@@ -35,7 +35,7 @@ void convert_XSizeHints_to_64(void* d, void *s);
 void inplace_enlarge_wmsizehints(void* hints);
 void inplace_shrink_wmsizehints(void* hints);
 
-void convert_XWindowAttributes_to_32(void* d, void* s);
+void convert_XWindowAttributes_to_32(void* dpy, void* d, void* s);
 
 void inplace_XModifierKeymap_shrink(void* a);
 void inplace_XModifierKeymap_enlarge(void* a);
diff --git a/src/wrapped32/wrappedlibx11.c b/src/wrapped32/wrappedlibx11.c
index 003d47d2..436743dc 100644
--- a/src/wrapped32/wrappedlibx11.c
+++ b/src/wrapped32/wrappedlibx11.c
@@ -1937,7 +1937,7 @@ EXPORT int my32_XGetWindowAttributes(x64emu_t* emu, void* dpy, XID window, my_XW
     static my_Screen_32_t screen32 = {0};
     my_XWindowAttributes_t l_attr = {0};
     int ret = my->XGetWindowAttributes(dpy, window, &l_attr);
-    convert_XWindowAttributes_to_32(attr, &l_attr);
+    convert_XWindowAttributes_to_32(dpy, attr, &l_attr);
     attr->screen = to_ptrv(&screen32);
     convert_Screen_to_32(&screen32, l_attr.screen);
     return ret;