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 @@ | |||
1 | diff --git a/plugins/housekeeping/gsd-housekeeping-manager.c b/plugins/housekeeping/gsd-housekeeping-manager.c | ||
2 | index f84cfad..e8f474a 100644 | ||
3 | --- a/plugins/housekeeping/gsd-housekeeping-manager.c | ||
4 | +++ b/plugins/housekeeping/gsd-housekeeping-manager.c | ||
5 | @@ -85,9 +85,13 @@ thumb_data_free (gpointer data) | ||
6 | } | ||
7 | } | ||
8 | |||
9 | +typedef enum { | ||
10 | + HASH, | ||
11 | + HASH_PNG | ||
12 | +} FileType; | ||
13 | |||
14 | static GList * | ||
15 | -read_dir_for_purge (const char *path, GList *files) | ||
16 | +read_dir_for_purge (const char *path, GList *files, FileType type) | ||
17 | { | ||
18 | GFile *read_path; | ||
19 | GFileEnumerator *enum_dir; | ||
20 | @@ -105,9 +109,20 @@ read_dir_for_purge (const char *path, GList *files) | ||
21 | GFileInfo *info; | ||
22 | while ((info = g_file_enumerator_next_file (enum_dir, NULL, NULL)) != NULL) { | ||
23 | const char *name; | ||
24 | + gboolean prune = FALSE; | ||
25 | + | ||
26 | name = g_file_info_get_name (info); | ||
27 | |||
28 | - if (strlen (name) == 36 && strcmp (name + 32, ".png") == 0) { | ||
29 | + switch (type) { | ||
30 | + case HASH: | ||
31 | + prune = (strlen (name) == 36); | ||
32 | + break; | ||
33 | + case HASH_PNG: | ||
34 | + prune = (strlen (name) == 36 && strcmp (name + 32, ".png") == 0); | ||
35 | + break; | ||
36 | + } | ||
37 | + | ||
38 | + if (prune) { | ||
39 | ThumbData *td; | ||
40 | GFile *entry; | ||
41 | char *entry_path; | ||
42 | @@ -197,14 +212,14 @@ purge_thumbnail_cache (void) | ||
43 | ".thumbnails", | ||
44 | "normal", | ||
45 | NULL); | ||
46 | - files = read_dir_for_purge (path, NULL); | ||
47 | + files = read_dir_for_purge (path, NULL, HASH_PNG); | ||
48 | g_free (path); | ||
49 | |||
50 | path = g_build_filename (g_get_home_dir (), | ||
51 | ".thumbnails", | ||
52 | "large", | ||
53 | NULL); | ||
54 | - files = read_dir_for_purge (path, files); | ||
55 | + files = read_dir_for_purge (path, files, HASH_PNG); | ||
56 | g_free (path); | ||
57 | |||
58 | path = g_build_filename (g_get_home_dir (), | ||
59 | @@ -212,7 +227,14 @@ purge_thumbnail_cache (void) | ||
60 | "fail", | ||
61 | "gnome-thumbnail-factory", | ||
62 | NULL); | ||
63 | - files = read_dir_for_purge (path, files); | ||
64 | + files = read_dir_for_purge (path, files, HASH_PNG); | ||
65 | + g_free (path); | ||
66 | + | ||
67 | + path = g_build_filename (g_get_user_cache_dir (), | ||
68 | + "mojito", | ||
69 | + "thumbnails", | ||
70 | + NULL); | ||
71 | + files = read_dir_for_purge (path, files, HASH); | ||
72 | g_free (path); | ||
73 | |||
74 | g_get_current_time (¤t_time); | ||