From db833447b6151e53a6f49c7ee4d2f4d6e22d4a76 Mon Sep 17 00:00:00 2001 From: maplee0 <110042169+maplee0@users.noreply.github.com> Date: Mon, 20 Nov 2023 11:27:28 +0300 Subject: [PATCH] Fix for stuurman issue #34 Fix for idle_func - pref dialog options are saved correctly --- src/pcmanfm.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/pcmanfm.c b/src/pcmanfm.c index 677c829..b98d8f9 100644 --- a/src/pcmanfm.c +++ b/src/pcmanfm.c @@ -217,7 +217,9 @@ int main(int argc, char** argv) { window_role = NULL; /* reset it for clients callbacks */ fm_volume_manager_init(); + GDK_THREADS_ENTER(); gtk_main(); + GDK_THREADS_LEAVE(); /* g_debug("main loop ended"); */ pcmanfm_save_config(TRUE); @@ -385,7 +387,7 @@ void pcmanfm_save_config(gboolean immediate) { /* install an idle handler to save the config file. */ if( 0 == save_config_idle) - save_config_idle = g_idle_add_full(G_PRIORITY_LOW, (GSourceFunc)on_save_config_idle, NULL, NULL); + save_config_idle = gdk_threads_add_idle_full(G_PRIORITY_LOW, (GSourceFunc)on_save_config_idle, NULL, NULL); } } @@ -468,4 +470,4 @@ const char * config_app_name(void) const char * pcmanfm_get_my_command(void) { return my_command; -} \ No newline at end of file +}