[devhelp] DhSettings: free singleton at the end of main()



commit 76041126b46d34ba3644f1ad7ee1e756be67ce30
Author: Sébastien Wilmet <swilmet gnome org>
Date:   Fri Apr 28 15:17:31 2017 +0200

    DhSettings: free singleton at the end of main()
    
    To be more friendly to memory debugging tools.

 src/dh-main.c     |    3 +++
 src/dh-settings.c |    7 +++++++
 src/dh-settings.h |    2 ++
 3 files changed, 12 insertions(+), 0 deletions(-)
---
diff --git a/src/dh-main.c b/src/dh-main.c
index 9fd5873..a9b0f77 100644
--- a/src/dh-main.c
+++ b/src/dh-main.c
@@ -24,6 +24,7 @@
 #include <gtk/gtk.h>
 
 #include "dh-app.h"
+#include "dh-settings.h"
 
 int
 main (int argc, char **argv)
@@ -44,5 +45,7 @@ main (int argc, char **argv)
 
         g_object_unref (application);
 
+        dh_settings_free_singleton ();
+
         return status;
 }
diff --git a/src/dh-settings.c b/src/dh-settings.c
index fecba64..3f6240a 100644
--- a/src/dh-settings.c
+++ b/src/dh-settings.c
@@ -139,6 +139,13 @@ dh_settings_get_instance (void)
 }
 
 void
+dh_settings_free_singleton (void)
+{
+        if (singleton != NULL)
+                g_object_unref (singleton);
+}
+
+void
 dh_settings_get_selected_fonts (DhSettings  *self,
                                 gchar      **font_name_fixed,
                                 gchar      **font_name_variable)
diff --git a/src/dh-settings.h b/src/dh-settings.h
index 5768022..1a9aad5 100644
--- a/src/dh-settings.h
+++ b/src/dh-settings.h
@@ -53,6 +53,8 @@ GType           dh_settings_get_type                    (void) G_GNUC_CONST;
 
 DhSettings *    dh_settings_get_instance                (void);
 
+void            dh_settings_free_singleton              (void);
+
 void            dh_settings_get_selected_fonts          (DhSettings  *self,
                                                          gchar      **font_name_fixed,
                                                          gchar      **font_name_variable);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]