--- 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