diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2023-07-08 14:26:07 +0200 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2023-07-08 14:26:07 +0200 |
| commit | aa39a923ed05ac9851e954508b34c202b099f37e (patch) | |
| tree | 265007381afe7c3405592100be6dec5f4e71569b /src/wrapped | |
| parent | 57b7729ea7ed8da819865cbfd9c5a52815ae627f (diff) | |
| download | box64-aa39a923ed05ac9851e954508b34c202b099f37e.tar.gz box64-aa39a923ed05ac9851e954508b34c202b099f37e.zip | |
Improved BOX64_MALLOC_HACK=2 and the glAleternate mecanism (help steam & heroic and other libcef based software)
Diffstat (limited to 'src/wrapped')
| -rwxr-xr-x | src/wrapped/wrappedgobject2.c | 6 | ||||
| -rwxr-xr-x | src/wrapped/wrappedlibx11.c | 6 |
2 files changed, 6 insertions, 6 deletions
diff --git a/src/wrapped/wrappedgobject2.c b/src/wrapped/wrappedgobject2.c index d1d6cd1c..9a9df389 100755 --- a/src/wrapped/wrappedgobject2.c +++ b/src/wrapped/wrappedgobject2.c @@ -128,7 +128,7 @@ static void signal_delete(my_signal_t* sig, void* b) static void addGObject2Alternate(library_t* lib) { - #define GO(A, W) AddAutomaticBridge(thread_get_emu(), lib->w.bridge, W, dlsym(lib->w.lib, #A), 0) + #define GO(A, W) AddAutomaticBridge(thread_get_emu(), lib->w.bridge, W, dlsym(lib->w.lib, #A), 0, #A) GO(g_cclosure_marshal_VOID__VOID, vFppuppp); GO(g_cclosure_marshal_VOID__BOOLEAN, vFppuppp); GO(g_cclosure_marshal_VOID__UCHAR, vFppuppp); @@ -174,7 +174,7 @@ static void addGObject2Alternate(library_t* lib) GO(g_cclosure_marshal_BOOLEAN__FLAGSv, vFpppppip); GO(g_cclosure_marshal_BOOLEAN__BOXED_BOXEDv, vFpppppip); #undef GO - #define GO(A, W) AddAutomaticBridge(thread_get_emu(), lib->w.bridge, W, A, 0) + #define GO(A, W) AddAutomaticBridge(thread_get_emu(), lib->w.bridge, W, A, 0, #A) GO(signal_cb, iFpppp); GO(signal_cb_swapped, iFpppp); GO(signal_cb_5, iFppppp); @@ -346,7 +346,7 @@ static void* findMarshalFct(void* fct) #define GO(A) if(my_marshal_fct_##A == (uintptr_t)fct) return my_marshal_##A; SUPER() #undef GO - #define GO(A) if(my_marshal_fct_##A == 0) {AddAutomaticBridge(thread_get_emu(), my_lib->w.bridge, vFppuppp, my_marshal_##A, 0); my_marshal_fct_##A = (uintptr_t)fct; return my_marshal_##A; } + #define GO(A) if(my_marshal_fct_##A == 0) {AddAutomaticBridge(thread_get_emu(), my_lib->w.bridge, vFppuppp, my_marshal_##A, 0, #A); my_marshal_fct_##A = (uintptr_t)fct; return my_marshal_##A; } SUPER() #undef GO printf_log(LOG_NONE, "Warning, no more slot for gobject Closure Marshal callback\n"); diff --git a/src/wrapped/wrappedlibx11.c b/src/wrapped/wrappedlibx11.c index 4b6a6463..12071a38 100755 --- a/src/wrapped/wrappedlibx11.c +++ b/src/wrapped/wrappedlibx11.c @@ -757,7 +757,7 @@ void BridgeImageFunc(x64emu_t *emu, XImage *img) #define GO(A, W) \ fnc = CheckBridged(system, img->f.A); \ - if(!fnc) fnc = AddAutomaticBridge(emu, system, W, img->f.A, 0); \ + if(!fnc) fnc = AddAutomaticBridge(emu, system, W, img->f.A, 0, #A); \ img->f.A = (W##_t)fnc; uintptr_t fnc; @@ -1108,12 +1108,12 @@ EXPORT void* my_XOpenDisplay(x64emu_t* emu, void* d) #define GO(A, W)\ if(dpy->A) \ if(!CheckBridged(system, dpy->A)) \ - AddAutomaticBridge(emu, system, W, dpy->A, 0); \ + AddAutomaticBridge(emu, system, W, dpy->A, 0, #A); \ #define GO2(A, B, W) \ if(dpy->A && dpy->A->B) \ if(!CheckBridged(system, dpy->A->B)) \ - AddAutomaticBridge(emu, system, W, dpy->A->B, 0); \ + AddAutomaticBridge(emu, system, W, dpy->A->B, 0, #B "_" #A); \ GO2(free_funcs, atoms, vFp) |