about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2024-10-09 15:56:07 +0200
committerptitSeb <sebastien.chev@gmail.com>2024-10-09 15:56:07 +0200
commit05384f581feada51b7da638ab83f7ccbbd8193c9 (patch)
tree4c63552f97d69b2eb46fa3e99521fe536ceaa6ba /src
parent84f3c104b201e433c6f31a82211d8a646ca20c41 (diff)
downloadbox64-05384f581feada51b7da638ab83f7ccbbd8193c9.tar.gz
box64-05384f581feada51b7da638ab83f7ccbbd8193c9.zip
[BOX32] Improved again, X11 and XImage handling
Diffstat (limited to 'src')
-rw-r--r--src/wrapped/wrappedlibx11.c2
-rw-r--r--src/wrapped32/generated/functions_list.txt7
-rw-r--r--src/wrapped32/generated/wrappedlibx11types32.h3
-rw-r--r--src/wrapped32/generated/wrapper32.c8
-rw-r--r--src/wrapped32/generated/wrapper32.h4
-rw-r--r--src/wrapped32/wrappedlibx11.c151
-rw-r--r--src/wrapped32/wrappedlibx11_private.h14
7 files changed, 102 insertions, 87 deletions
diff --git a/src/wrapped/wrappedlibx11.c b/src/wrapped/wrappedlibx11.c
index ed3ddc46..3c6d00c5 100644
--- a/src/wrapped/wrappedlibx11.c
+++ b/src/wrapped/wrappedlibx11.c
@@ -1555,7 +1555,7 @@ EXPORT void* my_XOpenDisplay(x64emu_t* emu, void* d)
     if(!ret)
         return ret;
 
-    if(box64_x11sync) my->XSynchronize(ret, 1);
+    if(box64_x11sync) {my->XSynchronize(ret, 1); printf_log(LOG_INFO, "Forcing Syncronized opration on Display %p\n", ret);}
     bridge_t* system = emu->context->system;
 
     #define GO(A, W)\
diff --git a/src/wrapped32/generated/functions_list.txt b/src/wrapped32/generated/functions_list.txt
index e868a93b..c50e4a3f 100644
--- a/src/wrapped32/generated/functions_list.txt
+++ b/src/wrapped32/generated/functions_list.txt
@@ -837,7 +837,7 @@
 #() iFbp_pii -> iFBpii
 #() iFbp_pip -> iFBpip
 #() iFBp_pui -> iFBpui
-#() iFXLibp_ -> iFXLiB
+#() iFXLiBp_ -> iFXLiB
 #() iFXLbp_i -> iFXLBi
 #() iFXLbL_i -> iFXLBi
 #() iFXLbp_p -> iFXLBp
@@ -865,6 +865,7 @@
 #() iFXipBWWWWWWWWWuip_ -> iFXipB
 #() iFXLbLWWWcc_bLWWWcc_ -> iFXLBB
 #() iFpruuipWCCp_buuipWCCp_i -> iFpBBi
+#() iFXpLriLLLiiiiiiiLLiiLiiiiLic_ -> iFXpLB
 #() iFXpLbiLLLiiiiiiiLLiiLiiiiLic_ -> iFXpLB
 #() pFXLLbiLLLiiiiiiiLLiiLiiiiLic_ -> pFXLLB
 #() vFEiipV -> vFEiipV
@@ -970,7 +971,6 @@
 #() iFEippL -> iFEippL
 #() iFEpipp -> iFEpipp
 #() iFEpupu -> iFEpupu
-#() iFEpLlp -> iFEpLlp
 #() iFEpLpp -> iFEpLpp
 #() iFEpLpV -> iFEpLpV
 #() iFEpplp -> iFEpplp
@@ -2042,12 +2042,11 @@ wrappedlibx11:
   - XESetCloseDisplay
   - XESetEventToWire
   - XESetWireToEvent
-- iFpLlp:
-  - XWindowEvent
 - iFXLip:
   - XCheckTypedWindowEvent
 - iFXLlp:
   - XCheckWindowEvent
+  - XWindowEvent
 - iFXLLp:
   - XChangeWindowAttributes
 - iFXLpi:
diff --git a/src/wrapped32/generated/wrappedlibx11types32.h b/src/wrapped32/generated/wrappedlibx11types32.h
index 5d4f92e3..f62571dc 100644
--- a/src/wrapped32/generated/wrappedlibx11types32.h
+++ b/src/wrapped32/generated/wrappedlibx11types32.h
@@ -33,7 +33,6 @@ typedef int32_t (*iFXlp_t)(void*, intptr_t, void*);
 typedef int32_t (*iFXLp_t)(void*, uintptr_t, void*);
 typedef uintptr_t (*LFXii_t)(void*, int32_t, int32_t);
 typedef void* (*pFXip_t)(void*, int32_t, void*);
-typedef int32_t (*iFpLlp_t)(void*, uintptr_t, intptr_t, void*);
 typedef int32_t (*iFXLip_t)(void*, uintptr_t, int32_t, void*);
 typedef int32_t (*iFXLlp_t)(void*, uintptr_t, intptr_t, void*);
 typedef int32_t (*iFXLLp_t)(void*, uintptr_t, uintptr_t, void*);
@@ -98,9 +97,9 @@ typedef uintptr_t (*LFXLiiuuuiupLp_t)(void*, uintptr_t, int32_t, int32_t, uint32
 	GO(XESetCloseDisplay, pFXip_t) \
 	GO(XESetEventToWire, pFXip_t) \
 	GO(XESetWireToEvent, pFXip_t) \
-	GO(XWindowEvent, iFpLlp_t) \
 	GO(XCheckTypedWindowEvent, iFXLip_t) \
 	GO(XCheckWindowEvent, iFXLlp_t) \
+	GO(XWindowEvent, iFXLlp_t) \
 	GO(XChangeWindowAttributes, iFXLLp_t) \
 	GO(XQueryColors, iFXLpi_t) \
 	GO(XSetWMProtocols, iFXLpi_t) \
diff --git a/src/wrapped32/generated/wrapper32.c b/src/wrapped32/generated/wrapper32.c
index bd27807a..88fc6042 100644
--- a/src/wrapped32/generated/wrapper32.c
+++ b/src/wrapped32/generated/wrapper32.c
@@ -927,7 +927,7 @@ typedef int32_t (*iFppbL_p_t)(void*, void*, struct_L_t*, void*);
 typedef int32_t (*iFbp_pii_t)(struct_p_t*, void*, int32_t, int32_t);
 typedef int32_t (*iFbp_pip_t)(struct_p_t*, void*, int32_t, void*);
 typedef int32_t (*iFBp_pui_t)(struct_p_t*, void*, uint32_t, int32_t);
-typedef int32_t (*iFXLibp__t)(void*, uintptr_t, int32_t, struct_p_t*);
+typedef int32_t (*iFXLiBp__t)(void*, uintptr_t, int32_t, struct_p_t*);
 typedef int32_t (*iFXLbp_i_t)(void*, uintptr_t, struct_p_t*, int32_t);
 typedef int32_t (*iFXLbL_i_t)(void*, uintptr_t, struct_L_t*, int32_t);
 typedef int32_t (*iFXLbp_p_t)(void*, uintptr_t, struct_p_t*, void*);
@@ -955,6 +955,7 @@ typedef uintptr_t (*LFpLpriiiiiiiiilt__t)(void*, uintptr_t, void*, struct_iiiiii
 typedef int32_t (*iFXipBWWWWWWWWWuip__t)(void*, int32_t, void*, struct_WWWWWWWWWuip_t*);
 typedef int32_t (*iFXLbLWWWcc_bLWWWcc__t)(void*, uintptr_t, struct_LWWWcc_t*, struct_LWWWcc_t*);
 typedef int32_t (*iFpruuipWCCp_buuipWCCp_i_t)(void*, struct_uuipWCCp_t*, struct_uuipWCCp_t*, int32_t);
+typedef int32_t (*iFXpLriLLLiiiiiiiLLiiLiiiiLic__t)(void*, void*, uintptr_t, struct_iLLLiiiiiiiLLiiLiiiiLic_t*);
 typedef int32_t (*iFXpLbiLLLiiiiiiiLLiiLiiiiLic__t)(void*, void*, uintptr_t, struct_iLLLiiiiiiiLLiiLiiiiLic_t*);
 typedef void* (*pFXLLbiLLLiiiiiiiLLiiLiiiiLic__t)(void*, uintptr_t, uintptr_t, struct_iLLLiiiiiiiLLiiLiiiiLic_t*);
 typedef void (*vFEiipV_t)(x64emu_t*, int32_t, int32_t, void*, void*);
@@ -1060,7 +1061,6 @@ typedef int32_t (*iFEipii_t)(x64emu_t*, int32_t, void*, int32_t, int32_t);
 typedef int32_t (*iFEippL_t)(x64emu_t*, int32_t, void*, void*, uintptr_t);
 typedef int32_t (*iFEpipp_t)(x64emu_t*, void*, int32_t, void*, void*);
 typedef int32_t (*iFEpupu_t)(x64emu_t*, void*, uint32_t, void*, uint32_t);
-typedef int32_t (*iFEpLlp_t)(x64emu_t*, void*, uintptr_t, intptr_t, void*);
 typedef int32_t (*iFEpLpp_t)(x64emu_t*, void*, uintptr_t, void*, void*);
 typedef int32_t (*iFEpLpV_t)(x64emu_t*, void*, uintptr_t, void*, void*);
 typedef int32_t (*iFEpplp_t)(x64emu_t*, void*, void*, intptr_t, void*);
@@ -2411,7 +2411,7 @@ void iFppbL_p_32(x64emu_t *emu, uintptr_t fcn) { iFppbL_p_t fn = (iFppbL_p_t)fcn
 void iFbp_pii_32(x64emu_t *emu, uintptr_t fcn) { iFbp_pii_t fn = (iFbp_pii_t)fcn; struct_p_t arg_4={0}; if (*(ptr_t*)(from_ptr((R_ESP + 4)))) from_struct_p(&arg_4, *(ptr_t*)(from_ptr((R_ESP + 4)))); R_EAX = fn(*(ptr_t*)(from_ptr((R_ESP + 4))) ? &arg_4 : NULL, from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16)); if (*(ptr_t*)(from_ptr((R_ESP + 4)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 4))), &arg_4); }
 void iFbp_pip_32(x64emu_t *emu, uintptr_t fcn) { iFbp_pip_t fn = (iFbp_pip_t)fcn; struct_p_t arg_4={0}; if (*(ptr_t*)(from_ptr((R_ESP + 4)))) from_struct_p(&arg_4, *(ptr_t*)(from_ptr((R_ESP + 4)))); R_EAX = fn(*(ptr_t*)(from_ptr((R_ESP + 4))) ? &arg_4 : NULL, from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptriv(R_ESP + 16)); if (*(ptr_t*)(from_ptr((R_ESP + 4)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 4))), &arg_4); }
 void iFBp_pui_32(x64emu_t *emu, uintptr_t fcn) { iFBp_pui_t fn = (iFBp_pui_t)fcn; struct_p_t arg_4={0}; R_EAX = fn(*(ptr_t*)(from_ptr((R_ESP + 4))) ? &arg_4 : NULL, from_ptriv(R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16)); if (*(ptr_t*)(from_ptr((R_ESP + 4)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 4))), &arg_4); }
-void iFXLibp__32(x64emu_t *emu, uintptr_t fcn) { iFXLibp__t fn = (iFXLibp__t)fcn; struct_p_t arg_16={0}; if (*(ptr_t*)(from_ptr((R_ESP + 16)))) from_struct_p(&arg_16, *(ptr_t*)(from_ptr((R_ESP + 16)))); R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptri(int32_t, R_ESP + 12), *(ptr_t*)(from_ptr((R_ESP + 16))) ? &arg_16 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 16)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 16))), &arg_16); }
+void iFXLiBp__32(x64emu_t *emu, uintptr_t fcn) { iFXLiBp__t fn = (iFXLiBp__t)fcn; struct_p_t arg_16={0}; R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptri(int32_t, R_ESP + 12), *(ptr_t*)(from_ptr((R_ESP + 16))) ? &arg_16 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 16)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 16))), &arg_16); }
 void iFXLbp_i_32(x64emu_t *emu, uintptr_t fcn) { iFXLbp_i_t fn = (iFXLbp_i_t)fcn; struct_p_t arg_12={0}; if (*(ptr_t*)(from_ptr((R_ESP + 12)))) from_struct_p(&arg_12, *(ptr_t*)(from_ptr((R_ESP + 12)))); R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), *(ptr_t*)(from_ptr((R_ESP + 12))) ? &arg_12 : NULL, from_ptri(int32_t, R_ESP + 16)); if (*(ptr_t*)(from_ptr((R_ESP + 12)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 12))), &arg_12); }
 void iFXLbL_i_32(x64emu_t *emu, uintptr_t fcn) { iFXLbL_i_t fn = (iFXLbL_i_t)fcn; struct_L_t arg_12={0}; if (*(ptr_t*)(from_ptr((R_ESP + 12)))) from_struct_L(&arg_12, *(ptr_t*)(from_ptr((R_ESP + 12)))); R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), *(ptr_t*)(from_ptr((R_ESP + 12))) ? &arg_12 : NULL, from_ptri(int32_t, R_ESP + 16)); if (*(ptr_t*)(from_ptr((R_ESP + 12)))) to_struct_L(*(ptr_t*)(from_ptr((R_ESP + 12))), &arg_12); }
 void iFXLbp_p_32(x64emu_t *emu, uintptr_t fcn) { iFXLbp_p_t fn = (iFXLbp_p_t)fcn; struct_p_t arg_12={0}; if (*(ptr_t*)(from_ptr((R_ESP + 12)))) from_struct_p(&arg_12, *(ptr_t*)(from_ptr((R_ESP + 12)))); R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), *(ptr_t*)(from_ptr((R_ESP + 12))) ? &arg_12 : NULL, from_ptriv(R_ESP + 16)); if (*(ptr_t*)(from_ptr((R_ESP + 12)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 12))), &arg_12); }
@@ -2439,6 +2439,7 @@ void LFpLpriiiiiiiiilt__32(x64emu_t *emu, uintptr_t fcn) { LFpLpriiiiiiiiilt__t
 void iFXipBWWWWWWWWWuip__32(x64emu_t *emu, uintptr_t fcn) { iFXipBWWWWWWWWWuip__t fn = (iFXipBWWWWWWWWWuip__t)fcn; struct_WWWWWWWWWuip_t arg_16={0}; R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptri(int32_t, R_ESP + 8), from_ptriv(R_ESP + 12), *(ptr_t*)(from_ptr((R_ESP + 16))) ? &arg_16 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 16)))) to_struct_WWWWWWWWWuip(*(ptr_t*)(from_ptr((R_ESP + 16))), &arg_16); }
 void iFXLbLWWWcc_bLWWWcc__32(x64emu_t *emu, uintptr_t fcn) { iFXLbLWWWcc_bLWWWcc__t fn = (iFXLbLWWWcc_bLWWWcc__t)fcn; struct_LWWWcc_t arg_12={0}; if (*(ptr_t*)(from_ptr((R_ESP + 12)))) from_struct_LWWWcc(&arg_12, *(ptr_t*)(from_ptr((R_ESP + 12)))); struct_LWWWcc_t arg_16={0}; if (*(ptr_t*)(from_ptr((R_ESP + 16)))) from_struct_LWWWcc(&arg_16, *(ptr_t*)(from_ptr((R_ESP + 16)))); R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), *(ptr_t*)(from_ptr((R_ESP + 12))) ? &arg_12 : NULL, *(ptr_t*)(from_ptr((R_ESP + 16))) ? &arg_16 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 12)))) to_struct_LWWWcc(*(ptr_t*)(from_ptr((R_ESP + 12))), &arg_12); if (*(ptr_t*)(from_ptr((R_ESP + 16)))) to_struct_LWWWcc(*(ptr_t*)(from_ptr((R_ESP + 16))), &arg_16); }
 void iFpruuipWCCp_buuipWCCp_i_32(x64emu_t *emu, uintptr_t fcn) { iFpruuipWCCp_buuipWCCp_i_t fn = (iFpruuipWCCp_buuipWCCp_i_t)fcn; struct_uuipWCCp_t arg_8={0}; if (*(ptr_t*)(from_ptr((R_ESP + 8)))) from_struct_uuipWCCp(&arg_8, *(ptr_t*)(from_ptr((R_ESP + 8)))); struct_uuipWCCp_t arg_12={0}; if (*(ptr_t*)(from_ptr((R_ESP + 12)))) from_struct_uuipWCCp(&arg_12, *(ptr_t*)(from_ptr((R_ESP + 12)))); R_EAX = fn(from_ptriv(R_ESP + 4), *(ptr_t*)(from_ptr((R_ESP + 8))) ? &arg_8 : NULL, *(ptr_t*)(from_ptr((R_ESP + 12))) ? &arg_12 : NULL, from_ptri(int32_t, R_ESP + 16)); if (*(ptr_t*)(from_ptr((R_ESP + 12)))) to_struct_uuipWCCp(*(ptr_t*)(from_ptr((R_ESP + 12))), &arg_12); }
+void iFXpLriLLLiiiiiiiLLiiLiiiiLic__32(x64emu_t *emu, uintptr_t fcn) { iFXpLriLLLiiiiiiiLLiiLiiiiLic__t fn = (iFXpLriLLLiiiiiiiLLiiLiiiiLic__t)fcn; struct_iLLLiiiiiiiLLiiLiiiiLic_t arg_16={0}; if (*(ptr_t*)(from_ptr((R_ESP + 16)))) from_struct_iLLLiiiiiiiLLiiLiiiiLic(&arg_16, *(ptr_t*)(from_ptr((R_ESP + 16)))); R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptriv(R_ESP + 8), from_ulong(from_ptri(ulong_t, R_ESP + 12)), *(ptr_t*)(from_ptr((R_ESP + 16))) ? &arg_16 : NULL); }
 void iFXpLbiLLLiiiiiiiLLiiLiiiiLic__32(x64emu_t *emu, uintptr_t fcn) { iFXpLbiLLLiiiiiiiLLiiLiiiiLic__t fn = (iFXpLbiLLLiiiiiiiLLiiLiiiiLic__t)fcn; struct_iLLLiiiiiiiLLiiLiiiiLic_t arg_16={0}; if (*(ptr_t*)(from_ptr((R_ESP + 16)))) from_struct_iLLLiiiiiiiLLiiLiiiiLic(&arg_16, *(ptr_t*)(from_ptr((R_ESP + 16)))); R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptriv(R_ESP + 8), from_ulong(from_ptri(ulong_t, R_ESP + 12)), *(ptr_t*)(from_ptr((R_ESP + 16))) ? &arg_16 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 16)))) to_struct_iLLLiiiiiiiLLiiLiiiiLic(*(ptr_t*)(from_ptr((R_ESP + 16))), &arg_16); }
 void pFXLLbiLLLiiiiiiiLLiiLiiiiLic__32(x64emu_t *emu, uintptr_t fcn) { pFXLLbiLLLiiiiiiiLLiiLiiiiLic__t fn = (pFXLLbiLLLiiiiiiiLLiiLiiiiLic__t)fcn; struct_iLLLiiiiiiiLLiiLiiiiLic_t arg_16={0}; if (*(ptr_t*)(from_ptr((R_ESP + 16)))) from_struct_iLLLiiiiiiiLLiiLiiiiLic(&arg_16, *(ptr_t*)(from_ptr((R_ESP + 16)))); R_EAX = to_ptrv(fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ulong(from_ptri(ulong_t, R_ESP + 12)), *(ptr_t*)(from_ptr((R_ESP + 16))) ? &arg_16 : NULL)); if (*(ptr_t*)(from_ptr((R_ESP + 16)))) to_struct_iLLLiiiiiiiLLiiLiiiiLic(*(ptr_t*)(from_ptr((R_ESP + 16))), &arg_16); }
 void vFEiipV_32(x64emu_t *emu, uintptr_t fcn) { vFEiipV_t fn = (vFEiipV_t)fcn; fn(emu, from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptriv(R_ESP + 12), from_ptrv(R_ESP + 16)); }
@@ -2544,7 +2545,6 @@ void iFEipii_32(x64emu_t *emu, uintptr_t fcn) { iFEipii_t fn = (iFEipii_t)fcn; R
 void iFEippL_32(x64emu_t *emu, uintptr_t fcn) { iFEippL_t fn = (iFEippL_t)fcn; R_EAX = fn(emu, from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), from_ulong(from_ptri(ulong_t, R_ESP + 16))); }
 void iFEpipp_32(x64emu_t *emu, uintptr_t fcn) { iFEpipp_t fn = (iFEpipp_t)fcn; R_EAX = fn(emu, from_ptriv(R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16)); }
 void iFEpupu_32(x64emu_t *emu, uintptr_t fcn) { iFEpupu_t fn = (iFEpupu_t)fcn; R_EAX = fn(emu, from_ptriv(R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptriv(R_ESP + 12), from_ptri(uint32_t, R_ESP + 16)); }
-void iFEpLlp_32(x64emu_t *emu, uintptr_t fcn) { iFEpLlp_t fn = (iFEpLlp_t)fcn; R_EAX = fn(emu, from_ptriv(R_ESP + 4), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_long(from_ptri(long_t, R_ESP + 12)), from_ptriv(R_ESP + 16)); }
 void iFEpLpp_32(x64emu_t *emu, uintptr_t fcn) { iFEpLpp_t fn = (iFEpLpp_t)fcn; R_EAX = fn(emu, from_ptriv(R_ESP + 4), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16)); }
 void iFEpLpV_32(x64emu_t *emu, uintptr_t fcn) { iFEpLpV_t fn = (iFEpLpV_t)fcn; R_EAX = fn(emu, from_ptriv(R_ESP + 4), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptriv(R_ESP + 12), from_ptrv(R_ESP + 16)); }
 void iFEpplp_32(x64emu_t *emu, uintptr_t fcn) { iFEpplp_t fn = (iFEpplp_t)fcn; R_EAX = fn(emu, from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_long(from_ptri(long_t, R_ESP + 12)), from_ptriv(R_ESP + 16)); }
diff --git a/src/wrapped32/generated/wrapper32.h b/src/wrapped32/generated/wrapper32.h
index 966924bd..fc925fec 100644
--- a/src/wrapped32/generated/wrapper32.h
+++ b/src/wrapped32/generated/wrapper32.h
@@ -878,7 +878,7 @@ void iFppbL_p_32(x64emu_t *emu, uintptr_t fnc);
 void iFbp_pii_32(x64emu_t *emu, uintptr_t fnc);
 void iFbp_pip_32(x64emu_t *emu, uintptr_t fnc);
 void iFBp_pui_32(x64emu_t *emu, uintptr_t fnc);
-void iFXLibp__32(x64emu_t *emu, uintptr_t fnc);
+void iFXLiBp__32(x64emu_t *emu, uintptr_t fnc);
 void iFXLbp_i_32(x64emu_t *emu, uintptr_t fnc);
 void iFXLbL_i_32(x64emu_t *emu, uintptr_t fnc);
 void iFXLbp_p_32(x64emu_t *emu, uintptr_t fnc);
@@ -906,6 +906,7 @@ void LFpLpriiiiiiiiilt__32(x64emu_t *emu, uintptr_t fnc);
 void iFXipBWWWWWWWWWuip__32(x64emu_t *emu, uintptr_t fnc);
 void iFXLbLWWWcc_bLWWWcc__32(x64emu_t *emu, uintptr_t fnc);
 void iFpruuipWCCp_buuipWCCp_i_32(x64emu_t *emu, uintptr_t fnc);
+void iFXpLriLLLiiiiiiiLLiiLiiiiLic__32(x64emu_t *emu, uintptr_t fnc);
 void iFXpLbiLLLiiiiiiiLLiiLiiiiLic__32(x64emu_t *emu, uintptr_t fnc);
 void pFXLLbiLLLiiiiiiiLLiiLiiiiLic__32(x64emu_t *emu, uintptr_t fnc);
 void vFEiipV_32(x64emu_t *emu, uintptr_t fnc);
@@ -1011,7 +1012,6 @@ void iFEipii_32(x64emu_t *emu, uintptr_t fnc);
 void iFEippL_32(x64emu_t *emu, uintptr_t fnc);
 void iFEpipp_32(x64emu_t *emu, uintptr_t fnc);
 void iFEpupu_32(x64emu_t *emu, uintptr_t fnc);
-void iFEpLlp_32(x64emu_t *emu, uintptr_t fnc);
 void iFEpLpp_32(x64emu_t *emu, uintptr_t fnc);
 void iFEpLpV_32(x64emu_t *emu, uintptr_t fnc);
 void iFEpplp_32(x64emu_t *emu, uintptr_t fnc);
diff --git a/src/wrapped32/wrappedlibx11.c b/src/wrapped32/wrappedlibx11.c
index b696a91d..2efd4899 100644
--- a/src/wrapped32/wrappedlibx11.c
+++ b/src/wrapped32/wrappedlibx11.c
@@ -512,7 +512,7 @@ static void* my32_create_image_##A(void* a, void* b, uint32_t c, int d, int e, v
 static pFXpuiipuuii_t my32_rev_create_image_fct_##A = NULL;                                                                         \
 static void* my32_rev_create_image_##A(void* a, void* b, uint32_t c, int d, int e, void* f, uint32_t g, uint32_t h, int i, int j)   \
 {                                                                                                                                   \
-    void* ret = my32_rev_create_image_fct_##A (FindDisplay(a), b, c, d, e, f, g, h, i, j);                                          \
+    void* ret = my32_rev_create_image_fct_##A (getDisplay(a), b, c, d, e, f, g, h, i, j);                                           \
     WrapXImage(ret, ret);                                                                                                           \
     return ret;                                                                                                                     \
 }
@@ -521,7 +521,11 @@ SUPER()
 static void* find_create_image_Fct(void* fct)
 {
     if(!fct) return fct;
-    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    void* n_fct = GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my32_rev_create_image_##A == n_fct) return (void*)my32_rev_create_image_fct_##A;
+    SUPER()
+    #undef GO
+    if(n_fct)  return n_fct;
     #define GO(A) if(my32_create_image_fct_##A == (uintptr_t)fct) return my32_create_image_##A;
     SUPER()
     #undef GO
@@ -536,7 +540,7 @@ static void* reverse_create_image_Fct(library_t* lib, void* fct)
     //Callsed from x86 world -> native world
     if(!fct) return fct;
     // first check if it's a wrapped function, that could be easy
-    #define GO(A) if(my32_create_image_fct_##A == (uintptr_t)fct) return my32_create_image_##A;
+    #define GO(A) if(my32_create_image_##A == fct) return (void*)my32_create_image_fct_##A;
     SUPER()
     #undef GO
     if(FindElfAddress(my_context, (uintptr_t)fct))
@@ -559,13 +563,13 @@ static void* reverse_create_image_Fct(library_t* lib, void* fct)
 static uintptr_t my32_destroy_image_fct_##A = 0;                    \
 static int my32_destroy_image_##A(void* a)                          \
 {                                                                   \
-    WrapXImage(a, a);                                               \
+    inplace_XImage_shrink(a);                                       \
     return (int)RunFunctionFmt(my32_destroy_image_fct_##A, "p", a); \
 }                                                                   \
 static iFp_t my32_rev_destroy_image_fct_##A = NULL;                 \
 static int my32_rev_destroy_image_##A(void* a)                      \
 {                                                                   \
-    UnwrapXImage(a, a);                                             \
+    inplace_XImage_enlarge(a);                                      \
     to_hash_d((uintptr_t)((XImage*)a)->obdata);                     \
     return my32_rev_destroy_image_fct_##A (a);                      \
 }
@@ -574,7 +578,11 @@ SUPER()
 static void* find_destroy_image_Fct(void* fct)
 {
     if(!fct) return fct;
-    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    void* n_fct = GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my32_rev_destroy_image_##A == n_fct) return (void*)my32_rev_destroy_image_fct_##A;
+    SUPER()
+    #undef GO
+    if(n_fct)  return n_fct;
     #define GO(A) if(my32_destroy_image_fct_##A == (uintptr_t)fct) return my32_destroy_image_##A;
     SUPER()
     #undef GO
@@ -589,7 +597,7 @@ static void* reverse_destroy_image_Fct(library_t* lib, void* fct)
     //Callsed from x86 world -> native world
     if(!fct) return fct;
     // first check if it's a wrapped function, that could be easy
-    #define GO(A) if(my32_destroy_image_fct_##A == (uintptr_t)fct) return my32_destroy_image_##A;
+    #define GO(A) if(my32_destroy_image_##A == fct) return (void*)my32_destroy_image_fct_##A;
     SUPER()
     #undef GO
     if(FindElfAddress(my_context, (uintptr_t)fct))
@@ -612,17 +620,17 @@ static void* reverse_destroy_image_Fct(library_t* lib, void* fct)
 static uintptr_t my32_get_pixel_fct_##A = 0;                                    \
 static unsigned long my32_get_pixel_##A(void* a, int b, int c)                  \
 {                                                                               \
-    WrapXImage(a, a);                                                           \
+    inplace_XImage_shrink(a);                                                   \
     uint32_t ret = RunFunctionFmt(my32_get_pixel_fct_##A, "pii", a, b, c);      \
-    UnwrapXImage(a, a);                                                         \
+    inplace_XImage_enlarge(a);                                                  \
     return from_ulong(ret);                                                     \
 }                                                                               \
 static LFpii_t my32_rev_get_pixel_fct_##A = NULL;                               \
-static ulong_t my32_rev_get_pixel_##A(void* a, int b, int c)                    \
+static unsigned long my32_rev_get_pixel_##A(void* a, int b, int c)              \
 {                                                                               \
-    UnwrapXImage(a, a);                                                         \
-    ulong_t ret = to_ulong(my32_rev_get_pixel_fct_##A (a, b, c));               \
-    WrapXImage(a, a);                                                           \
+    inplace_XImage_enlarge(a);                                                  \
+    unsigned long ret = my32_rev_get_pixel_fct_##A (a, b, c);                   \
+    inplace_XImage_shrink(a);                                                   \
     return ret;                                                                 \
 }
 SUPER()
@@ -630,7 +638,11 @@ SUPER()
 static void* find_get_pixel_Fct(void* fct)
 {
     if(!fct) return fct;
-    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    void* n_fct = GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my32_rev_get_pixel_##A == n_fct) return (void*)my32_rev_get_pixel_fct_##A;
+    SUPER()
+    #undef GO
+    if(n_fct)  return n_fct;
     #define GO(A) if(my32_get_pixel_fct_##A == (uintptr_t)fct) return my32_get_pixel_##A;
     SUPER()
     #undef GO
@@ -645,7 +657,7 @@ static void* reverse_get_pixel_Fct(library_t* lib, void* fct)
     //Callsed from x86 world -> native world
     if(!fct) return fct;
     // first check if it's a wrapped function, that could be easy
-    #define GO(A) if(my32_get_pixel_fct_##A == (uintptr_t)fct) return my32_get_pixel_##A;
+    #define GO(A) if(my32_get_pixel_##A == fct) return (void*)my32_get_pixel_fct_##A;
     SUPER()
     #undef GO
     if(FindElfAddress(my_context, (uintptr_t)fct))
@@ -668,17 +680,17 @@ static void* reverse_get_pixel_Fct(library_t* lib, void* fct)
 static uintptr_t my32_put_pixel_fct_##A = 0;                                    \
 static int my32_put_pixel_##A(void* a, int b, int c,unsigned long d)            \
 {                                                                               \
-    WrapXImage(a, a);                                                           \
+    inplace_XImage_shrink(a);                                                   \
     int ret =  (int)RunFunctionFmt(my32_put_pixel_fct_##A, "piiL", a, b, c, d); \
-    UnwrapXImage(a, a);                                                         \
+    inplace_XImage_enlarge(a);                                                  \
     return ret;                                                                 \
 }                                                                               \
 static iFpiiL_t my32_rev_put_pixel_fct_##A = NULL;                              \
 static int my32_rev_put_pixel_##A(void* a, int b, int c, ulong_t d)             \
 {                                                                               \
-    UnwrapXImage(a, a);                                                         \
-    int ret = to_ulong(my32_rev_put_pixel_fct_##A (a, b, c, from_ulong(d)));    \
-    WrapXImage(a, a);                                                           \
+    inplace_XImage_enlarge(a);                                                  \
+    int ret = my32_rev_put_pixel_fct_##A (a, b, c, from_ulong(d));              \
+    inplace_XImage_shrink(a);                                                   \
     return ret;                                                                 \
 }
 SUPER()
@@ -686,7 +698,11 @@ SUPER()
 static void* find_put_pixel_Fct(void* fct)
 {
     if(!fct) return fct;
-    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    void* n_fct = GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my32_rev_put_pixel_##A == n_fct) return (void*)my32_rev_put_pixel_fct_##A;
+    SUPER()
+    #undef GO
+    if(n_fct)  return n_fct;
     #define GO(A) if(my32_put_pixel_fct_##A == (uintptr_t)fct) return my32_put_pixel_##A;
     SUPER()
     #undef GO
@@ -701,7 +717,7 @@ static void* reverse_put_pixel_Fct(library_t* lib, void* fct)
     //Callsed from x86 world -> native world
     if(!fct) return fct;
     // first check if it's a wrapped function, that could be easy
-    #define GO(A) if(my32_put_pixel_fct_##A == (uintptr_t)fct) return my32_put_pixel_##A;
+    #define GO(A) if(my32_put_pixel_##A == fct) return (void*)my32_put_pixel_fct_##A;
     SUPER()
     #undef GO
     if(FindElfAddress(my_context, (uintptr_t)fct))
@@ -724,20 +740,20 @@ static void* reverse_put_pixel_Fct(library_t* lib, void* fct)
 static uintptr_t my32_sub_image_fct_##A = 0;                                        \
 static void* my32_sub_image_##A(void* a, int b, int c, uint32_t d, uint32_t e)      \
 {                                                                                   \
-    WrapXImage(a, a);                                                               \
+    inplace_XImage_shrink(a);                                                       \
     void* ret = (void*)RunFunctionFmt(my32_sub_image_fct_##A, "piiuu", a, b, c, d, e);\
     if(ret!=a) UnwrapXImage(ret, ret);                                              \
-    UnwrapXImage(a, a);                                                             \
+    inplace_XImage_enlarge(a);                                                      \
     return ret;                                                                     \
 }                                                                                   \
 static pFpiiuu_t my32_rev_sub_image_fct_##A = NULL;                                 \
 static void* my32_rev_sub_image_##A(void* a, int b, int c, uint32_t d, uint32_t e)  \
 {                                                                                   \
-    UnwrapXImage(a, a);                                                             \
+    inplace_XImage_enlarge(a);                                                      \
     void* ret = my32_rev_sub_image_fct_##A (a, b, c, d, e);                         \
     if(ret!=a)                                                                      \
         WrapXImage(ret, ret);                                                       \
-    WrapXImage(a, a);                                                               \
+    inplace_XImage_shrink(a);                                                       \
     return ret;                                                                     \
 }
 SUPER()
@@ -745,7 +761,11 @@ SUPER()
 static void* find_sub_image_Fct(void* fct)
 {
     if(!fct) return fct;
-    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    void* n_fct = GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my32_rev_sub_image_##A == n_fct) return (void*)my32_rev_sub_image_fct_##A;
+    SUPER()
+    #undef GO
+    if(n_fct)  return n_fct;
     #define GO(A) if(my32_sub_image_fct_##A == (uintptr_t)fct) return my32_sub_image_##A;
     SUPER()
     #undef GO
@@ -760,7 +780,7 @@ static void* reverse_sub_image_Fct(library_t* lib, void* fct)
     //Callsed from x86 world -> native world
     if(!fct) return fct;
     // first check if it's a wrapped function, that could be easy
-    #define GO(A) if(my32_sub_image_fct_##A == (uintptr_t)fct) return my32_sub_image_##A;
+    #define GO(A) if(my32_sub_image_##A == fct) return (void*)my32_sub_image_fct_##A;
     SUPER()
     #undef GO
     if(FindElfAddress(my_context, (uintptr_t)fct))
@@ -783,17 +803,17 @@ static void* reverse_sub_image_Fct(library_t* lib, void* fct)
 static uintptr_t my32_add_pixel_fct_##A = 0;                        \
 static int my32_add_pixel_##A(void* a, long b)                      \
 {                                                                   \
-    WrapXImage(a, a);                                               \
+    inplace_XImage_shrink(a);                                       \
     int ret =  (int)RunFunctionFmt(my32_add_pixel_fct_##A, "pl", a, b); \
-    UnwrapXImage(a, a);                                             \
+    inplace_XImage_enlarge(a);                                      \
     return ret;                                                     \
 }                                                                   \
 static iFpl_t my32_rev_add_pixel_fct_##A = NULL;                    \
 static int my32_rev_add_pixel_##A(void* a, long_t b)                \
 {                                                                   \
-    UnwrapXImage(a, a);                                             \
+    inplace_XImage_enlarge(a);                                      \
     int ret = my32_rev_add_pixel_fct_##A (a, from_long(b));         \
-    WrapXImage(a, a);                                               \
+    inplace_XImage_shrink(a);                                       \
     return ret;                                                     \
 }
 SUPER()
@@ -801,7 +821,11 @@ SUPER()
 static void* find_add_pixel_Fct(void* fct)
 {
     if(!fct) return fct;
-    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    void* n_fct = GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my32_rev_add_pixel_##A == n_fct) return (void*)my32_rev_add_pixel_fct_##A;
+    SUPER()
+    #undef GO
+    if(n_fct)  return n_fct;
     #define GO(A) if(my32_add_pixel_fct_##A == (uintptr_t)fct) return my32_add_pixel_##A;
     SUPER()
     #undef GO
@@ -816,7 +840,7 @@ static void* reverse_add_pixel_Fct(library_t* lib, void* fct)
     //Callsed from x86 world -> native world
     if(!fct) return fct;
     // first check if it's a wrapped function, that could be easy
-    #define GO(A) if(my32_add_pixel_fct_##A == (uintptr_t)fct) return my32_add_pixel_##A;
+    #define GO(A) if(my32_add_pixel_##A == fct) return (void*)my32_add_pixel_fct_##A;
     SUPER()
     #undef GO
     if(FindElfAddress(my_context, (uintptr_t)fct))
@@ -1442,24 +1466,24 @@ EXPORT void* my32_XGetImage(x64emu_t* emu, void* disp, size_t drawable, int32_t
     if(!img)
         return img;
     // bridge all access functions...
-    WrapXImage(img, img);
+    inplace_XImage_shrink(img);
     return img;
 }
 
 EXPORT void my32__XInitImageFuncPtrs(x64emu_t* emu, XImage* img)
 {
     my->_XInitImageFuncPtrs(img);
-    WrapXImage(emu, img);
+    inplace_XImage_shrink(img);
 }
 
 EXPORT int32_t my32_XPutImage(x64emu_t* emu, void* disp, size_t drawable, void* gc, void* image
                     , int32_t src_x, int32_t src_y, int32_t dst_x, int32_t dst_y
                     , uint32_t w, uint32_t h)
 {
-    UnwrapXImage(image, image); // what if the image was created on x86 side and is smaller?
+    inplace_XImage_enlarge(image); // what if the image was created on x86 side and is smaller?
     int32_t r = my->XPutImage(disp, drawable, gc, image, src_x, src_y, dst_x, dst_y, w, h);
     // bridge all access functions...
-    WrapXImage(image, image);
+    inplace_XImage_shrink(image);
     return r;
 }
 
@@ -1469,19 +1493,19 @@ EXPORT void* my32_XGetSubImage(x64emu_t* emu, void* disp, size_t drawable
                     , void* image, int32_t dst_x, int32_t dst_y)
 {
 
-    UnwrapXImage(image, image);
+    inplace_XImage_enlarge(image);
     XImage *img = my->XGetSubImage(disp, drawable, x, y, w, h, plane, fmt, image, dst_x, dst_y);
     if(img && img!=image)
-        WrapXImage(img, img);
+        inplace_XImage_shrink(img);
 
-    WrapXImage(image, image);
+    inplace_XImage_shrink(image);
     return img;
 }
 
 EXPORT void my32_XDestroyImage(x64emu_t* emu, void* image)
 {
 
-    UnwrapXImage(image, image);
+    inplace_XImage_enlarge(image);
     to_hash_d((uintptr_t)((XImage*)image)->obdata);
     my->XDestroyImage(image);
 }
@@ -1566,7 +1590,7 @@ EXPORT void* my32_XSynchronize(x64emu_t* emu, void* display, int onoff)
 EXPORT void* my32_XOpenDisplay(void* name)
 {
     void* ret = my->XOpenDisplay(name);
-    if(ret && box64_x11sync) my->XSynchronize(ret, 1);
+    if(ret && box64_x11sync) {my->XSynchronize(ret, 1); printf_log(LOG_INFO, "Forcing Syncronized opration on Display %p\n", ret);}
     return ret;
 }
 
@@ -1581,23 +1605,8 @@ EXPORT int my32_XCloseDisplay(x64emu_t* emu, void* dpy)
 EXPORT XID my32_XCreateWindow(x64emu_t* emu, void* d, XID Window, int x, int y, uint32_t width, uint32_t height, uint32_t border_width, int depth, uint32_t cl, void* visual,  unsigned long mask, my_XSetWindowAttributes_32_t* attr)
 {
     my_XSetWindowAttributes_t attrib;
-    if(attr) {
-        attrib.background_pixmap = from_ulong(attr->background_pixmap);
-        attrib.background_pixel = from_ulong(attr->background_pixel);
-        attrib.border_pixmap = from_ulong(attr->border_pixmap);
-        attrib.border_pixel = from_ulong(attr->border_pixel);
-        attrib.bit_gravity = attr->bit_gravity;
-        attrib.win_gravity = attr->win_gravity;
-        attrib.backing_store = attr->backing_store;
-        attrib.backing_planes = from_ulong(attr->backing_planes);
-        attrib.backing_pixel = from_ulong(attr->backing_pixel);
-        attrib.save_under = attr->save_under;
-        attrib.event_mask = from_long(attr->event_mask);
-        attrib.do_not_propagate_mask = from_long(attr->do_not_propagate_mask);
-        attrib.override_redirect = attr->override_redirect;
-        attrib.colormap = from_ulong(attr->colormap);
-        attrib.cursor = from_ulong(attr->cursor);
-    }
+    if(attr)
+        convert_XSetWindowAttributes_to_64(&attrib, attr);
     return my->XCreateWindow(d, Window, x, y, width, height, border_width, depth, cl, visual, mask, attr?(&attrib):NULL);
 }
 
@@ -1645,7 +1654,7 @@ EXPORT int my32_XWindowEvent(x64emu_t* emu, void* dpy, XID window, long mask, my
 {
     my_XEvent_t event = {0};
     int ret = my->XWindowEvent(dpy, window, mask, &event);
-    if(ret) convertXEvent(evt, &event);
+    convertXEvent(evt, &event);
     return ret;
 }
 
@@ -1808,6 +1817,18 @@ EXPORT int my32_Xutf8TextListToTextProperty(x64emu_t* emu, void* dpy, ptr_t* lis
     return ret;
 }
 
+EXPORT int my32_XmbTextListToTextProperty(x64emu_t* emu, void* dpy, ptr_t* list, int count, uint32_t style, void* text)
+{
+    char* l_list[count];
+    if(list)
+        for(int i=0; i<count; ++i)
+            l_list[i] = from_ptrv(list[i]);
+    struct_pLiL_t text_l = {0};
+    int ret = my->XmbTextListToTextProperty(dpy, list?(&l_list):NULL, count, style, &text_l);
+    to_struct_pLiL(to_ptrv(text), &text_l);
+    return ret;
+}
+
 EXPORT int my32_XGetWindowAttributes(x64emu_t* emu, void* dpy, XID window, my_XWindowAttributes_32_t* attr)
 {
     static my_Screen_32_t screen32 = {0};
@@ -2044,12 +2065,8 @@ EXPORT int my32_XFreeFont(x64emu_t* emu, void* dpy, void* f)
 
 EXPORT int my32_XChangeWindowAttributes(x64emu_t* emu, void* dpy, XID window, unsigned long mask, my_XSetWindowAttributes_32_t* attrs)
 {
-    my_XSetWindowAttributes_t attrs_l[32];
-    for(int i=0, j=0; i<32; ++i)
-        if(mask&(1<<i)) {
-            convert_XSetWindowAttributes_to_64(attrs_l+j, attrs+j);
-            ++j;
-        }
+    my_XSetWindowAttributes_t attrs_l[1];
+    convert_XSetWindowAttributes_to_64(attrs_l, attrs);
     return my->XChangeWindowAttributes(dpy, window, mask, attrs_l);
 }
 
diff --git a/src/wrapped32/wrappedlibx11_private.h b/src/wrapped32/wrappedlibx11_private.h
index 43da3bf4..76a117dc 100644
--- a/src/wrapped32/wrappedlibx11_private.h
+++ b/src/wrapped32/wrappedlibx11_private.h
@@ -42,7 +42,7 @@ GO(XBlackPixel, LFXi)
 //GOM(XBlackPixelOfScreen, LFEbpXLiiiiipippLLLiiiil_)
 //GOM(XCellsOfScreen, iFEbpXLiiiiipippLLLiiiil_)
 GO(XChangeActivePointerGrab, iFXuLL)
-GO(XChangeGC, iFXpLbiLLLiiiiiiiLLiiLiiiiLic_)
+GO(XChangeGC, iFXpLriLLLiiiiiiiLLiiLiiiiLic_)
 GO(XChangeKeyboardControl, iFXLp)
 GO(XChangeKeyboardMapping, iFXiibL_i)
 GO(XChangePointerControl, iFXiiiii)
@@ -332,7 +332,7 @@ GO(XFillPolygon, iFXLppiii)
 GO(XFillRectangle, iFXLpiiuu)
 GO(XFillRectangles, iFXLppi)
 GOM(XFilterEvent, iFEpL) // Warning: failed to confirm
-GO(XFindContext, iFXLibp_)
+GO(XFindContext, iFXLiBp_)
 //GOM(XFindOnExtensionList, pFEbp_i)
 GO(_XFlush, vFX)
 GO(XFlush, iFX)
@@ -913,7 +913,7 @@ GO(XmbResetIC, pFp)
 GO(XmbTextEscapement, iFppi)
 GO(XmbTextExtents, iFppipp)
 //GO(_XmbTextListToTextProperty, 
-GO(XmbTextListToTextProperty, iFXbp_iubpLiL_)
+GOM(XmbTextListToTextProperty, iFXEpiup)
 GO(XmbTextPerCharExtents, iFppippippp)
 //GO(_XmbTextPropertyToTextList, 
 GOM(XmbTextPropertyToTextList, iFEXbpLiL_pp)
@@ -983,7 +983,7 @@ GO(_XReadEvents, vFX)
 GO(_XReadPad, vFXpl)
 GO(XRebindKeysym, iFXLbL_ipi)
 GO(XRecolorCursor, iFXLbLWWWcc_bLWWWcc_)
-GO(XReconfigureWMWindow, iFXLiubiiiiiLi_)
+GO(XReconfigureWMWindow, iFXLiuriiiiiLi_)
 GO(XRectInRegion, iFpiiuu)
 //GO(_XRefreshKeyboardMapping, 
 GOM(XRefreshKeyboardMapping, iFEp)
@@ -1109,8 +1109,8 @@ GO(XSetWindowColormap, iFXLL)
 GO(XSetWMClientMachine, vFXLbpLiL_)
 GO(XSetWMColormapWindows, iFXLbL_i)
 GOM(XSetWMHints, iFEXLp)
-GO(XSetWMIconName, vFXLbpLiL_)
-GO(XSetWMName, vFXLbpLiL_)
+GO(XSetWMIconName, vFXLrpLiL_)
+GO(XSetWMName, vFXLrpLiL_)
 GOM(XSetWMNormalHints, vFEXLp)
 GOM(XSetWMProperties, vFEXLpppippp)
 GOM(XSetWMProtocols, iFEXLpi)
@@ -1232,7 +1232,7 @@ GO(XWhitePixel, LFXi)
 //GOM(XWhitePixelOfScreen, LFEbpXLiiiiipippLLLiiiil_)
 //GOM(XWidthMMOfScreen, iFEbpXLiiiiipippLLLiiiil_)
 //GOM(XWidthOfScreen, iFEbpXLiiiiipippLLLiiiil_)
-GOM(XWindowEvent, iFEpLlp)
+GOM(XWindowEvent, iFEXLlp)
 //GO(_XWireToEvent, iFppp)
 GO(XWithdrawWindow, iFXLi)
 //GO(XWMGeometry, iFpippupppppp)