summaryrefslogtreecommitdiff
path: root/libbackground
diff options
context:
space:
mode:
authorAnders Carlsson <andersca@gnu.org>2002-04-17 20:32:48 +0000
committerAnders Carlsson <andersca@src.gnome.org>2002-04-17 20:32:48 +0000
commit166fe70bd4d23c808735ad17123e6c100e50c224 (patch)
tree0bb28022987afd43216029f9027f599103d4c50e /libbackground
parentf1d6eefaa182cff84f46ec0285e9ac4861727b53 (diff)
downloadgnome-control-center-166fe70bd4d23c808735ad17123e6c100e50c224.tar.gz
Plug leaks. Sigh.
2002-04-17 Anders Carlsson <andersca@gnu.org> * preferences.c: (bg_preferences_finalize), (bg_preferences_load): Plug leaks. Sigh.
Diffstat (limited to 'libbackground')
-rw-r--r--libbackground/ChangeLog5
-rw-r--r--libbackground/preferences.c18
2 files changed, 18 insertions, 5 deletions
diff --git a/libbackground/ChangeLog b/libbackground/ChangeLog
index 1bcf3cc1a..77b2e701e 100644
--- a/libbackground/ChangeLog
+++ b/libbackground/ChangeLog
@@ -1,3 +1,8 @@
+2002-04-17 Anders Carlsson <andersca@gnu.org>
+
+ * preferences.c: (bg_preferences_finalize), (bg_preferences_load):
+ Plug leaks. Sigh.
+
2002-04-07 Rachel Hestilow <hestilow@ximian.com>
* applier.c (bg_applier_get_preview_widget): Connect to "realize"
diff --git a/libbackground/preferences.c b/libbackground/preferences.c
index 0fdf7b3bf..d48bdf936 100644
--- a/libbackground/preferences.c
+++ b/libbackground/preferences.c
@@ -204,7 +204,9 @@ bg_preferences_finalize (GObject *object)
g_free (prefs->wallpaper_filename);
g_free (prefs->wallpaper_sel_path);
-
+ g_free (prefs->color1);
+ g_free (prefs->color2);
+
parent_class->finalize (object);
}
@@ -213,7 +215,7 @@ bg_preferences_load (BGPreferences *prefs)
{
GConfClient *client;
GError *error = NULL;
-
+ char *tmp;
g_return_if_fail (prefs != NULL);
g_return_if_fail (IS_BG_PREFERENCES (prefs));
@@ -222,9 +224,15 @@ bg_preferences_load (BGPreferences *prefs)
prefs->enabled = gconf_client_get_bool (client, BG_PREFERENCES_DRAW_BACKGROUND, &error);
prefs->wallpaper_filename = gconf_client_get_string (client, BG_PREFERENCES_PICTURE_FILENAME, &error);
- prefs->color1 = read_color_from_string (gconf_client_get_string (client, BG_PREFERENCES_PRIMARY_COLOR, &error));
- prefs->color2 = read_color_from_string (gconf_client_get_string (client, BG_PREFERENCES_SECONDARY_COLOR, &error));
-
+ tmp = gconf_client_get_string (client, BG_PREFERENCES_PRIMARY_COLOR, &error);
+ g_free (prefs->color1);
+ prefs->color1 = read_color_from_string (tmp);
+ g_free (tmp);
+ tmp = gconf_client_get_string (client, BG_PREFERENCES_SECONDARY_COLOR, &error);
+ g_free (prefs->color2);
+ prefs->color2 = read_color_from_string (tmp);
+ g_free (tmp);
+
prefs->opacity = gconf_client_get_int (client, BG_PREFERENCES_PICTURE_OPACITY, &error);
if (prefs->opacity >= 100 || prefs->opacity < 0)
prefs->adjust_opacity = FALSE;