release GConfClient when quitting
authorJean-Philippe Orsini <jeanfi@gmail.com>
Fri, 9 Sep 2011 12:40:33 +0000 (12:40 +0000)
committerJean-Philippe Orsini <jeanfi@gmail.com>
Fri, 9 Sep 2011 12:40:33 +0000 (12:40 +0000)
NEWS
src/cfg.c
src/cfg.h
src/main.c

diff --git a/NEWS b/NEWS
index 826ae94..4e3473b 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -9,6 +9,7 @@
 ** psensor: bug fixed compilation with -Wall.
 ** psensor: bug fixed unallocated memory read during termination.
 ** psensor: fixed memleak when window not drawable.
+** psensor: release GConfClient when quitting.
 
 * v0.6.2.9
 
index 1486d2d..af7288b 100644 (file)
--- a/src/cfg.c
+++ b/src/cfg.c
@@ -394,6 +394,14 @@ void config_init()
        client = gconf_client_get_default();
 }
 
+void config_cleanup()
+{
+       if (client) {
+               g_object_unref(client);
+               client = NULL;
+       }
+}
+
 struct config *config_load()
 {
        struct config *cfg = malloc(sizeof(struct config));
index 2ba8475..2cf01f6 100644 (file)
--- a/src/cfg.h
+++ b/src/cfg.h
@@ -66,6 +66,8 @@ void config_save(struct config *);
 
 void config_init();
 
+void config_cleanup();
+
 struct color *config_get_sensor_color(char *sensor_name,
                                      struct color *default_color);
 
index b28333c..ee6c2e0 100644 (file)
@@ -421,5 +421,7 @@ int main(int argc, char **argv)
 
        g_mutex_unlock(ui.sensors_mutex);
 
+       config_cleanup();
+
        return 0;
 }