about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2023-04-21 18:24:24 +0200
committerptitSeb <sebastien.chev@gmail.com>2023-04-21 18:24:33 +0200
commitec7844072f5ad5a74de9f4a42c91aefc2f174691 (patch)
tree78047b6fd7eeb2255d32a5975abd8518847d2d9c
parent128390d52e249903ff579361c080aa76e0492463 (diff)
downloadbox64-ec7844072f5ad5a74de9f4a42c91aefc2f174691.tar.gz
box64-ec7844072f5ad5a74de9f4a42c91aefc2f174691.zip
Fixed gtk2 apps, broken since #720
-rwxr-xr-xsrc/wrapped/wrappedgio2.c7
-rwxr-xr-xsrc/wrapped/wrappedgobject2.c2
-rwxr-xr-xsrc/wrapped/wrappedgtk3.c2
3 files changed, 7 insertions, 4 deletions
diff --git a/src/wrapped/wrappedgio2.c b/src/wrapped/wrappedgio2.c
index dbc67d71..ef379ef1 100755
--- a/src/wrapped/wrappedgio2.c
+++ b/src/wrapped/wrappedgio2.c
@@ -18,12 +18,16 @@
 #include "box64context.h"
 #include "emu/x64emu_private.h"
 #include "myalign.h"
+#include "gtkclass.h"
 
 const char* gio2Name = "libgio-2.0.so.0";
 #define LIBNAME gio2
 
-#define ADDED_FUNCTIONS() \
+typedef size_t(*LFv_t)(void);
 
+#define ADDED_FUNCTIONS() \
+ GO(g_application_get_type, LFv_t)           \
+ 
 #include "wrappedgio2types.h"
 
 #include "wrappercallback.h"
@@ -585,6 +589,7 @@ EXPORT void* my_g_initable_new_valist(x64emu_t* emu, void* type, void* first, x6
 
 #define CUSTOM_INIT \
     getMy(lib);                         \
+    SetGApplicationID(my->g_application_get_type());            \
     setNeededLibs(lib, 1, "libgmodule-2.0.so.0");
 
 #define CUSTOM_FINI \
diff --git a/src/wrapped/wrappedgobject2.c b/src/wrapped/wrappedgobject2.c
index 8e11460f..f9fc35b9 100755
--- a/src/wrapped/wrappedgobject2.c
+++ b/src/wrapped/wrappedgobject2.c
@@ -28,7 +28,6 @@ typedef void*(*pFL_t)(size_t);
 #define ADDED_FUNCTIONS()           \
  GO(g_object_get_type, LFv_t)       \
  GO(g_initially_unowned_get_type, LFv_t)    \
- GO(g_application_get_type, LFv_t)           \
  GO(g_type_name, pFL_t)             \
  GO(g_type_class_peek, pFL_t)       \
 
@@ -905,7 +904,6 @@ EXPORT void* my_g_type_value_table_peek(x64emu_t* emu, size_t type)
     getMy(lib);                             \
     SetGObjectID(my->g_object_get_type());  \
     SetGInitiallyUnownedID(my->g_initially_unowned_get_type()); \
-    SetGApplicationID(my->g_application_get_type());            \
     SetGTypeName(my->g_type_name);          \
     SetGClassPeek(my->g_type_class_peek);   \
     setNeededLibs(lib, 1, "libglib-2.0.so.0");
diff --git a/src/wrapped/wrappedgtk3.c b/src/wrapped/wrappedgtk3.c
index fb14b8b6..edf0dec0 100755
--- a/src/wrapped/wrappedgtk3.c
+++ b/src/wrapped/wrappedgtk3.c
@@ -728,7 +728,7 @@ EXPORT void my3_gtk_container_foreach(x64emu_t* emu, void* container, void* cb,
     SetGtkContainer3ID(my->gtk_container_get_type());           \
     SetGtkTextView3ID(my->gtk_text_view_get_type());            \
     SetGtkActionID(my->gtk_action_get_type());                  \
-    setNeededLibs(lib, 2, "libgdk-3.so.0", "libpangocairo-1.0.so.0");
+    setNeededLibs(lib, 3, "libgdk-3.so.0", "libpangocairo-1.0.so.0", "libgio-2.0.so.0");
 
 #define CUSTOM_FINI \
     freeMy();