aboutsummaryrefslogtreecommitdiff
path: root/src/libui_sdl/libui/unix/main.c
diff options
context:
space:
mode:
authorArisotura <thetotalworm@gmail.com>2019-06-04 15:53:08 +0200
committerGitHub <noreply@github.com>2019-06-04 15:53:08 +0200
commit97f4b5f70b67ea5cc142fbd1f3982c36b915a5d9 (patch)
treebd3fb3325db3743eef00cf3ddffafdeb644370a9 /src/libui_sdl/libui/unix/main.c
parentf769d6e23f7635910e3f6659c6b55d8c6a8e96ff (diff)
parent3134c8fc66d1fbd5706930a3e3e64ce118406fe5 (diff)
Merge branch 'master' into fast-forward-hotkey
Diffstat (limited to 'src/libui_sdl/libui/unix/main.c')
-rw-r--r--src/libui_sdl/libui/unix/main.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/libui_sdl/libui/unix/main.c b/src/libui_sdl/libui/unix/main.c
index 409b659..516bd76 100644
--- a/src/libui_sdl/libui/unix/main.c
+++ b/src/libui_sdl/libui/unix/main.c
@@ -5,6 +5,25 @@ uiInitOptions options;
// kind of a hack
GThread* gtkthread;
+GMutex glmutex;
+
+static void _eventfilter(GdkEvent* evt, gpointer data)
+{
+ if (evt->type == GDK_EXPOSE)
+ {
+ g_mutex_lock(&glmutex);
+ gtk_main_do_event(evt);
+ g_mutex_unlock(&glmutex);
+ return;
+ }
+
+ gtk_main_do_event(evt);
+}
+
+static void _eventfilterdestroy(gpointer data)
+{
+ printf("DELET\n");
+}
const char *uiInit(uiInitOptions *o)
{
@@ -21,6 +40,7 @@ const char *uiInit(uiInitOptions *o)
loadFutures();
gtkthread = g_thread_self();
+ g_mutex_init(&glmutex);
GList* iconlist = NULL;
iconlist = g_list_append(iconlist, gdk_pixbuf_new_from_resource("/org/kuriboland/melonDS/icon/melon_16x16.png", NULL));
@@ -31,6 +51,10 @@ const char *uiInit(uiInitOptions *o)
gtk_window_set_default_icon_list(iconlist);
+ g_mutex_init(&glmutex);
+
+ gdk_event_handler_set(_eventfilter, NULL, _eventfilterdestroy);
+
return NULL;
}