From 5bd03f2b44b19a58ee6d33dcdb7ba1423ee313df Mon Sep 17 00:00:00 2001 From: Federico Mena Quintero Date: Fri, 18 Jul 2008 19:28:13 +0000 Subject: [PATCH] Remove the old icon cache if regenerating it would cause it to be empty Signed-off-by: Federico Mena Quintero svn path=/trunk/; revision=20865 --- ChangeLog | 5 +++++ gtk/updateiconcache.c | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 77880c82de..641533ab5d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -13,6 +13,11 @@ * gdk/directfb/gdkvisual-directfb.c: Avoid a crash in _gdk_visual_init(). Patch by Huimin He. +2008-07-18 Federico Mena Quintero + + * gtk/updateiconcache.c (build_cache): If the resulting cache file + would be empty, erase the old cache file as well as the temporary file. + 2008-07-18 Federico Mena Quintero * demos/gtk-demo/changedisplay.c (find_toplevel_at_pointer): Don't diff --git a/gtk/updateiconcache.c b/gtk/updateiconcache.c index b239cc3029..0f5577a25b 100644 --- a/gtk/updateiconcache.c +++ b/gtk/updateiconcache.c @@ -1448,6 +1448,7 @@ build_cache (const gchar *path) #endif tmp_cache_path = g_build_filename (path, "."CACHE_NAME, NULL); + cache_path = g_build_filename (path, CACHE_NAME, NULL); if ((fd = g_open (tmp_cache_path, O_WRONLY | O_CREAT | O_EXCL | O_TRUNC | _O_BINARY, mode)) == -1) { @@ -1476,6 +1477,7 @@ build_cache (const gchar *path) fclose (cache); g_unlink (tmp_cache_path); + g_unlink (cache_path); exit (0); } @@ -1499,8 +1501,6 @@ build_cache (const gchar *path) exit (1); } - cache_path = g_build_filename (path, CACHE_NAME, NULL); - #ifdef G_OS_WIN32 if (g_file_test (cache_path, G_FILE_TEST_EXISTS)) {