about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2024-12-11 18:14:28 +0100
committerptitSeb <sebastien.chev@gmail.com>2024-12-11 18:14:28 +0100
commit88bd65998f4598e6c7bc1b4b350df0b0c6df0f1f (patch)
tree0714329c6a14b70347f388f69733bf3c9c65faaa /src
parentecbd382ae4b0810cc30dbdae27c032803061c6e7 (diff)
downloadbox64-88bd65998f4598e6c7bc1b4b350df0b0c6df0f1f.tar.gz
box64-88bd65998f4598e6c7bc1b4b350df0b0c6df0f1f.zip
[BOX32][WRAPPER] Added one more 32bits libX11 wrapped function
Diffstat (limited to 'src')
-rw-r--r--src/wrapped32/generated/functions_list.txt3
-rw-r--r--src/wrapped32/generated/wrappedlibx11types32.h2
-rw-r--r--src/wrapped32/generated/wrapper32.c2
-rw-r--r--src/wrapped32/generated/wrapper32.h1
-rw-r--r--src/wrapped32/wrappedlibx11.c7
-rw-r--r--src/wrapped32/wrappedlibx11_private.h2
6 files changed, 16 insertions, 1 deletions
diff --git a/src/wrapped32/generated/functions_list.txt b/src/wrapped32/generated/functions_list.txt
index 08eaac3e..0ff72fe9 100644
--- a/src/wrapped32/generated/functions_list.txt
+++ b/src/wrapped32/generated/functions_list.txt
@@ -1013,6 +1013,7 @@
 #() vFEuipp -> vFEuipp
 #() vEEpLLp -> vEEpLLp
 #() vEEppiV -> vEEppiV
+#() vFEXLpL -> vFEXLpL
 #() vFiiiii -> vFiiiii
 #() vFiiiiu -> vFiiiiu
 #() vFiiuii -> vFiiuii
@@ -2298,6 +2299,8 @@ wrappedlibx11:
   - XESetCloseDisplay
   - XESetEventToWire
   - XESetWireToEvent
+- vFXLpL:
+  - XSetWMSizeHints
 - iFXLip:
   - XCheckTypedWindowEvent
 - iFXLlp:
diff --git a/src/wrapped32/generated/wrappedlibx11types32.h b/src/wrapped32/generated/wrappedlibx11types32.h
index 3f64fa88..07cff32c 100644
--- a/src/wrapped32/generated/wrappedlibx11types32.h
+++ b/src/wrapped32/generated/wrappedlibx11types32.h
@@ -36,6 +36,7 @@ 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 void (*vFXLpL_t)(void*, uintptr_t, void*, uintptr_t);
 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*);
@@ -114,6 +115,7 @@ 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(XSetWMSizeHints, vFXLpL_t) \
 	GO(XCheckTypedWindowEvent, iFXLip_t) \
 	GO(XCheckWindowEvent, iFXLlp_t) \
 	GO(XWindowEvent, iFXLlp_t) \
diff --git a/src/wrapped32/generated/wrapper32.c b/src/wrapped32/generated/wrapper32.c
index 6f16a399..ba744607 100644
--- a/src/wrapped32/generated/wrapper32.c
+++ b/src/wrapped32/generated/wrapper32.c
@@ -1104,6 +1104,7 @@ typedef void (*vFEuipu_t)(x64emu_t*, uint32_t, int32_t, void*, uint32_t);
 typedef void (*vFEuipp_t)(x64emu_t*, uint32_t, int32_t, void*, void*);
 typedef void (*vEEpLLp_t)(x64emu_t*, void*, uintptr_t, uintptr_t, void*);
 typedef void (*vEEppiV_t)(x64emu_t*, void*, void*, int32_t, void*);
+typedef void (*vFEXLpL_t)(x64emu_t*, void*, uintptr_t, void*, uintptr_t);
 typedef void (*vFiiiii_t)(int32_t, int32_t, int32_t, int32_t, int32_t);
 typedef void (*vFiiiiu_t)(int32_t, int32_t, int32_t, int32_t, uint32_t);
 typedef void (*vFiiuii_t)(int32_t, int32_t, uint32_t, int32_t, int32_t);
@@ -2759,6 +2760,7 @@ void vFEuipu_32(x64emu_t *emu, uintptr_t fcn) { vFEuipu_t fn = (vFEuipu_t)fcn; f
 void vFEuipp_32(x64emu_t *emu, uintptr_t fcn) { vFEuipp_t fn = (vFEuipp_t)fcn; fn(emu, from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16)); }
 void vEEpLLp_32(x64emu_t *emu, uintptr_t fcn) { vEEpLLp_t fn = (vEEpLLp_t)fcn; errno = emu->libc_err; fn(emu, from_ptriv(R_ESP + 4), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ulong(from_ptri(ulong_t, R_ESP + 12)), from_ptriv(R_ESP + 16)); emu->libc_err = errno; }
 void vEEppiV_32(x64emu_t *emu, uintptr_t fcn) { vEEppiV_t fn = (vEEppiV_t)fcn; errno = emu->libc_err; fn(emu, from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptrv(R_ESP + 16)); emu->libc_err = errno; }
+void vFEXLpL_32(x64emu_t *emu, uintptr_t fcn) { vFEXLpL_t fn = (vFEXLpL_t)fcn; fn(emu, getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptriv(R_ESP + 12), from_ulong(from_ptri(ulong_t, R_ESP + 16))); }
 void vFiiiii_32(x64emu_t *emu, uintptr_t fcn) { vFiiiii_t fn = (vFiiiii_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20)); }
 void vFiiiiu_32(x64emu_t *emu, uintptr_t fcn) { vFiiiiu_t fn = (vFiiiiu_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(uint32_t, R_ESP + 20)); }
 void vFiiuii_32(x64emu_t *emu, uintptr_t fcn) { vFiiuii_t fn = (vFiiuii_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20)); }
diff --git a/src/wrapped32/generated/wrapper32.h b/src/wrapped32/generated/wrapper32.h
index 6eaa0238..f61fb5f5 100644
--- a/src/wrapped32/generated/wrapper32.h
+++ b/src/wrapped32/generated/wrapper32.h
@@ -1054,6 +1054,7 @@ void vFEuipu_32(x64emu_t *emu, uintptr_t fnc);
 void vFEuipp_32(x64emu_t *emu, uintptr_t fnc);
 void vEEpLLp_32(x64emu_t *emu, uintptr_t fnc);
 void vEEppiV_32(x64emu_t *emu, uintptr_t fnc);
+void vFEXLpL_32(x64emu_t *emu, uintptr_t fnc);
 void vFiiiii_32(x64emu_t *emu, uintptr_t fnc);
 void vFiiiiu_32(x64emu_t *emu, uintptr_t fnc);
 void vFiiuii_32(x64emu_t *emu, uintptr_t fnc);
diff --git a/src/wrapped32/wrappedlibx11.c b/src/wrapped32/wrappedlibx11.c
index f7680b91..a2d94afc 100644
--- a/src/wrapped32/wrappedlibx11.c
+++ b/src/wrapped32/wrappedlibx11.c
@@ -1990,6 +1990,13 @@ EXPORT void my32_XSetWMProperties(x64emu_t* emu, void* dpy, XID window, void* wi
     my->XSetWMProperties(dpy, window, window_name?(&window_name_l):NULL, icon_name?(&icon_name_l):NULL, argv?argv_l:NULL, argc, normal_hints?(&wm_size_l):NULL, wm_hints?(&wm_hints_l):NULL, class_hints?(&class_hints_l):NULL);
 }
 
+EXPORT void my32_XSetWMSizeHints(x64emu_t* emu, void* dpy, XID window, void* hints, XID atom)
+{
+    int hints_l[17+2] = {0};
+    convert_XSizeHints_to_64(&hints_l, hints);
+    my->XSetWMSizeHints(dpy, window, &hints_l, atom);
+}
+
 EXPORT void my32_Xutf8SetWMProperties(x64emu_t* emu, void* dpy, XID window, void* window_name, void* icon_name, ptr_t* argv, int argc, void* normal_hints, my_XWMHints_32_t* wm_hints, ptr_t* class_hints)
 {
     int wm_size_l[17+2] = {0};
diff --git a/src/wrapped32/wrappedlibx11_private.h b/src/wrapped32/wrappedlibx11_private.h
index 89fa3af4..8667078f 100644
--- a/src/wrapped32/wrappedlibx11_private.h
+++ b/src/wrapped32/wrappedlibx11_private.h
@@ -1114,7 +1114,7 @@ GO(XSetWMName, vFXLrpLiL_)
 GOM(XSetWMNormalHints, vFEXLp)
 GOM(XSetWMProperties, vFEXLpppippp)
 GOM(XSetWMProtocols, iFEXLpi)
-//GO(XSetWMSizeHints, vFpLpL)
+GOM(XSetWMSizeHints, vFEXLpL)
 //GO(XSetZoomHints, iFpLp)
 GO(XShrinkRegion, iFpii)
 GO(XStoreBuffer, iFXpii)