diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2024-12-11 18:14:28 +0100 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2024-12-11 18:14:28 +0100 |
| commit | 88bd65998f4598e6c7bc1b4b350df0b0c6df0f1f (patch) | |
| tree | 0714329c6a14b70347f388f69733bf3c9c65faaa /src | |
| parent | ecbd382ae4b0810cc30dbdae27c032803061c6e7 (diff) | |
| download | box64-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.txt | 3 | ||||
| -rw-r--r-- | src/wrapped32/generated/wrappedlibx11types32.h | 2 | ||||
| -rw-r--r-- | src/wrapped32/generated/wrapper32.c | 2 | ||||
| -rw-r--r-- | src/wrapped32/generated/wrapper32.h | 1 | ||||
| -rw-r--r-- | src/wrapped32/wrappedlibx11.c | 7 | ||||
| -rw-r--r-- | src/wrapped32/wrappedlibx11_private.h | 2 |
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) |