From 1e5c9968e2c3befe9e0baff1ed26301345167054 Mon Sep 17 00:00:00 2001 From: Jens Granseuer Date: Thu, 23 Aug 2007 19:02:28 +0000 Subject: [PATCH] fix leaks (bug #469531) 2007-08-23 Jens Granseuer * appearance-themes.c: (theme_get_thumbnail_from_cache): * gnome-wp-item.c: (gnome_wp_item_update_description): fix leaks (bug #469531) 2007-08-23 Jens Granseuer * gnome-theme-info.c: (gnome_theme_is_writable): cast to proper type * theme-thumbnail.c: (create_metacity_theme_pixbuf): free the metacity theme after use (bug #469531) svn path=/trunk/; revision=8040 --- capplets/appearance/ChangeLog | 6 ++++++ capplets/appearance/appearance-themes.c | 4 +++- capplets/appearance/gnome-wp-item.c | 4 +++- capplets/common/ChangeLog | 6 ++++++ capplets/common/gnome-theme-info.c | 2 +- capplets/common/theme-thumbnail.c | 1 + 6 files changed, 20 insertions(+), 3 deletions(-) diff --git a/capplets/appearance/ChangeLog b/capplets/appearance/ChangeLog index e248cf738..be1224118 100644 --- a/capplets/appearance/ChangeLog +++ b/capplets/appearance/ChangeLog @@ -1,3 +1,9 @@ +2007-08-23 Jens Granseuer + + * appearance-themes.c: (theme_get_thumbnail_from_cache): + * gnome-wp-item.c: (gnome_wp_item_update_description): fix leaks (bug + #469531) + 2007-08-23 Jens Granseuer * appearance-font.c: (cb_show_details): simply set the upper bound of diff --git a/capplets/appearance/appearance-themes.c b/capplets/appearance/appearance-themes.c index 97a2e8e66..800709ad3 100644 --- a/capplets/appearance/appearance-themes.c +++ b/capplets/appearance/appearance-themes.c @@ -136,8 +136,10 @@ theme_get_thumbnail_from_cache (GnomeThemeMetaInfo *info, AppearanceData *data) path, mtime); g_free (path); - if (thumb_filename != NULL) + if (thumb_filename != NULL) { thumb = gdk_pixbuf_new_from_file (thumb_filename, NULL); + g_free (thumb_filename); + } return thumb; } diff --git a/capplets/appearance/gnome-wp-item.c b/capplets/appearance/gnome-wp-item.c index b221dfc3b..983e27bab 100644 --- a/capplets/appearance/gnome-wp-item.c +++ b/capplets/appearance/gnome-wp-item.c @@ -356,6 +356,7 @@ void gnome_wp_item_update_description (GnomeWPItem * item) { if (!strcmp (item->filename, "(none)")) { item->description = g_strdup (item->name); } else { + gchar *dirname = g_path_get_dirname (item->filename); /* translators: wallpaper name * mime type, x pixel(s) by y pixel(s) * Folder: /path/to/file @@ -370,6 +371,7 @@ void gnome_wp_item_update_description (GnomeWPItem * item) { ngettext ("pixel", "pixels", item->width), item->height, ngettext ("pixel", "pixels", item->height), - g_path_get_dirname (item->filename)); + dirname); + g_free (dirname); } } diff --git a/capplets/common/ChangeLog b/capplets/common/ChangeLog index 7aff1cb1f..f63ef997a 100644 --- a/capplets/common/ChangeLog +++ b/capplets/common/ChangeLog @@ -1,3 +1,9 @@ +2007-08-23 Jens Granseuer + + * gnome-theme-info.c: (gnome_theme_is_writable): cast to proper type + * theme-thumbnail.c: (create_metacity_theme_pixbuf): free the metacity + theme after use (bug #469531) + 2007-08-21 Jens Granseuer * gnome-theme-info.c: (gnome_theme_info_find_by_type_helper): diff --git a/capplets/common/gnome-theme-info.c b/capplets/common/gnome-theme-info.c index 2fd9fbd53..f7dce8b35 100644 --- a/capplets/common/gnome-theme-info.c +++ b/capplets/common/gnome-theme-info.c @@ -1710,7 +1710,7 @@ gnome_theme_is_writable (const gpointer theme, GnomeThemeType type) { theme_path = ((const GnomeThemeIconInfo *) theme)->path; break; case GNOME_THEME_TYPE_CURSOR: - theme_path = ((const GnomeThemeIconInfo *) theme)->path; + theme_path = ((const GnomeThemeCursorInfo *) theme)->path; break; case GNOME_THEME_TYPE_METATHEME: theme_path = ((const GnomeThemeMetaInfo *) theme)->path; diff --git a/capplets/common/theme-thumbnail.c b/capplets/common/theme-thumbnail.c index 1c384ae03..713cc7dfc 100644 --- a/capplets/common/theme-thumbnail.c +++ b/capplets/common/theme-thumbnail.c @@ -487,6 +487,7 @@ create_metacity_theme_pixbuf (ThemeThumbnailData *theme_thumbnail_data) g_object_unref (pixbuf); gtk_widget_destroy (window); + meta_theme_free (theme); return retval; }