diff options
Diffstat (limited to 'meta-demoapps/recipes-gnome/gnome/gnome-settings-daemon/mojito-cleanup.patch')
-rw-r--r-- | meta-demoapps/recipes-gnome/gnome/gnome-settings-daemon/mojito-cleanup.patch | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/meta-demoapps/recipes-gnome/gnome/gnome-settings-daemon/mojito-cleanup.patch b/meta-demoapps/recipes-gnome/gnome/gnome-settings-daemon/mojito-cleanup.patch new file mode 100644 index 0000000000..1aff2d6d6f --- /dev/null +++ b/meta-demoapps/recipes-gnome/gnome/gnome-settings-daemon/mojito-cleanup.patch @@ -0,0 +1,74 @@ +diff --git a/plugins/housekeeping/gsd-housekeeping-manager.c b/plugins/housekeeping/gsd-housekeeping-manager.c +index f84cfad..e8f474a 100644 +--- a/plugins/housekeeping/gsd-housekeeping-manager.c ++++ b/plugins/housekeeping/gsd-housekeeping-manager.c +@@ -85,9 +85,13 @@ thumb_data_free (gpointer data) + } + } + ++typedef enum { ++ HASH, ++ HASH_PNG ++} FileType; + + static GList * +-read_dir_for_purge (const char *path, GList *files) ++read_dir_for_purge (const char *path, GList *files, FileType type) + { + GFile *read_path; + GFileEnumerator *enum_dir; +@@ -105,9 +109,20 @@ read_dir_for_purge (const char *path, GList *files) + GFileInfo *info; + while ((info = g_file_enumerator_next_file (enum_dir, NULL, NULL)) != NULL) { + const char *name; ++ gboolean prune = FALSE; ++ + name = g_file_info_get_name (info); + +- if (strlen (name) == 36 && strcmp (name + 32, ".png") == 0) { ++ switch (type) { ++ case HASH: ++ prune = (strlen (name) == 36); ++ break; ++ case HASH_PNG: ++ prune = (strlen (name) == 36 && strcmp (name + 32, ".png") == 0); ++ break; ++ } ++ ++ if (prune) { + ThumbData *td; + GFile *entry; + char *entry_path; +@@ -197,14 +212,14 @@ purge_thumbnail_cache (void) + ".thumbnails", + "normal", + NULL); +- files = read_dir_for_purge (path, NULL); ++ files = read_dir_for_purge (path, NULL, HASH_PNG); + g_free (path); + + path = g_build_filename (g_get_home_dir (), + ".thumbnails", + "large", + NULL); +- files = read_dir_for_purge (path, files); ++ files = read_dir_for_purge (path, files, HASH_PNG); + g_free (path); + + path = g_build_filename (g_get_home_dir (), +@@ -212,7 +227,14 @@ purge_thumbnail_cache (void) + "fail", + "gnome-thumbnail-factory", + NULL); +- files = read_dir_for_purge (path, files); ++ files = read_dir_for_purge (path, files, HASH_PNG); ++ g_free (path); ++ ++ path = g_build_filename (g_get_user_cache_dir (), ++ "mojito", ++ "thumbnails", ++ NULL); ++ files = read_dir_for_purge (path, files, HASH); + g_free (path); + + g_get_current_time (¤t_time); |