From e57c99d8e09a7f76baeb228153855a62973589e9 Mon Sep 17 00:00:00 2001 From: Jens Granseuer Date: Tue, 5 Jun 2007 22:16:51 +0000 Subject: [PATCH] add a parameter to circumvent the internal thumbnail cache to the 2007-06-06 Jens Granseuer * theme-thumbnail.c: (generate_theme_thumbnail_async): * theme-thumbnail.h: add a parameter to circumvent the internal thumbnail cache to the asynchronous generator svn path=/trunk/; revision=7695 --- capplets/common/ChangeLog | 15 +++++++++++++++ capplets/common/theme-thumbnail.c | 14 ++++++++++---- capplets/common/theme-thumbnail.h | 1 + 3 files changed, 26 insertions(+), 4 deletions(-) diff --git a/capplets/common/ChangeLog b/capplets/common/ChangeLog index e180da840..a8473bedd 100644 --- a/capplets/common/ChangeLog +++ b/capplets/common/ChangeLog @@ -1,3 +1,18 @@ +2007-06-06 Jens Granseuer + + * theme-thumbnail.c: (generate_theme_thumbnail_async): + * theme-thumbnail.h: add a parameter to circumvent the internal + thumbnail cache to the asynchronous generator + +2007-06-02 Jens Granseuer + + reviewed by: + + * gnome-theme-info.c: (get_data_from_hash_by_name), + (read_icon_theme), (handle_change_signal), (update_theme_index), + (gnome_theme_meta_info_compare): + * gnome-theme-info.h: + 2007-05-30 Jens Granseuer * gnome-theme-info.c: (safe_strcmp), (add_data_to_hash_by_name), diff --git a/capplets/common/theme-thumbnail.c b/capplets/common/theme-thumbnail.c index 001497005..bb87e012c 100644 --- a/capplets/common/theme-thumbnail.c +++ b/capplets/common/theme-thumbnail.c @@ -601,6 +601,7 @@ generate_theme_thumbnail (GnomeThemeMetaInfo *meta_theme_info, void generate_theme_thumbnail_async (GnomeThemeMetaInfo *meta_theme_info, + gboolean clear_cache, ThemeThumbnailFunc func, gpointer user_data, GDestroyNotify destroy) @@ -612,10 +613,15 @@ generate_theme_thumbnail_async (GnomeThemeMetaInfo *meta_theme_info, pixbuf = g_hash_table_lookup (theme_hash, meta_theme_info->name); if (pixbuf != NULL) { - (* func) (pixbuf, user_data); - if (destroy) - (* destroy) (user_data); - return; + if (clear_cache) + g_hash_table_remove (theme_hash, meta_theme_info->name); + else + { + (* func) (pixbuf, user_data); + if (destroy) + (* destroy) (user_data); + return; + } } if (!pipe_to_factory_fd[1] || !pipe_from_factory_fd[0]) diff --git a/capplets/common/theme-thumbnail.h b/capplets/common/theme-thumbnail.h index 86b109be0..1521defb1 100644 --- a/capplets/common/theme-thumbnail.h +++ b/capplets/common/theme-thumbnail.h @@ -12,6 +12,7 @@ typedef void (* ThemeThumbnailFunc) (GdkPixbuf *pixbuf, GdkPixbuf *generate_theme_thumbnail (GnomeThemeMetaInfo *meta_theme_info, gboolean clear_cache); void generate_theme_thumbnail_async (GnomeThemeMetaInfo *meta_theme_info, + gboolean clear_cache, ThemeThumbnailFunc func, gpointer data, GDestroyNotify destroy);