Blob Blame History Raw
--- a/service/dconf-service.c
+++ b/service/dconf-service.c
@@ -39,6 +39,8 @@ typedef struct
   DConfBlame  *blame;
   GHashTable  *writers;
   GArray      *subtree_ids;
+
+  gboolean     signalled;
 } DConfService;
 
 G_DEFINE_TYPE (DConfService, dconf_service, G_TYPE_APPLICATION)
@@ -48,7 +50,10 @@ dconf_service_signalled (gpointer user_data)
 {
   DConfService *service = user_data;
 
-  g_application_release (G_APPLICATION (service));
+  if (!service->signalled)
+    g_application_release (G_APPLICATION (service));
+
+  service->signalled = TRUE;
 
   return G_SOURCE_REMOVE;
 }
-- 
1.8.5.3