47 lines
1.2 KiB
Diff
47 lines
1.2 KiB
Diff
diff -up GConf-3.2.6/gconf/gconfd.c.workaround-crash GConf-3.2.6/gconf/gconfd.c
|
|
--- GConf-3.2.6/gconf/gconfd.c.workaround-crash 2013-04-15 10:12:54.480753142 -0400
|
|
+++ GConf-3.2.6/gconf/gconfd.c 2013-04-15 10:12:53.457736847 -0400
|
|
@@ -1076,17 +1076,6 @@ periodic_cleanup_timeout(gpointer data)
|
|
#endif
|
|
drop_old_databases ();
|
|
|
|
-#ifdef HAVE_DBUS
|
|
- if (no_databases_in_use () && gconfd_dbus_client_count () == 0)
|
|
-#else
|
|
- if (no_databases_in_use () && client_count () == 0)
|
|
-#endif
|
|
- {
|
|
- gconf_log (GCL_INFO, _("GConf server is not in use, shutting down."));
|
|
- gconfd_main_quit ();
|
|
- return FALSE;
|
|
- }
|
|
-
|
|
/* expire old locale cache entries */
|
|
gconfd_locale_cache_expire ();
|
|
|
|
@@ -1105,7 +1094,6 @@ periodic_cleanup_timeout(gpointer data)
|
|
|
|
return TRUE;
|
|
}
|
|
-
|
|
void
|
|
gconfd_need_log_cleanup (void)
|
|
{
|
|
@@ -1131,14 +1119,14 @@ gconf_main(void)
|
|
}
|
|
|
|
main_loops = g_slist_prepend(main_loops, loop);
|
|
+ main_loops = g_slist_prepend(main_loops, loop);
|
|
|
|
g_main_loop_run (loop);
|
|
|
|
main_loops = g_slist_remove(main_loops, loop);
|
|
|
|
- if (main_loops == NULL)
|
|
+ if (main_loops == NULL && timeout_id != 0)
|
|
{
|
|
- g_assert(timeout_id != 0);
|
|
g_source_remove(timeout_id);
|
|
timeout_id = 0;
|
|
}
|