commit b556a5525fd90b92e571982e691a3567245f69e9
parent bef3502153147e4471b8dd68ded2c891921f90ca
Author: Colin Leroy <colin@colino.net>
Date: Mon, 28 Apr 2008 06:37:42 +0000
2008-04-28 [colin] 3.4.0cvs16
* src/folder.c
Fix bug 1589, 'tagsdb file not removed when
folder deleted'.
* src/common/utils.c
Make sure claws_unlink accepts NULL arg.
Diffstat:
5 files changed, 18 insertions(+), 1 deletion(-)
diff --git a/ChangeLog b/ChangeLog
@@ -1,3 +1,11 @@
+2008-04-28 [colin] 3.4.0cvs16
+
+ * src/folder.c
+ Fix bug 1589, 'tagsdb file not removed when
+ folder deleted'.
+ * src/common/utils.c
+ Make sure claws_unlink accepts NULL arg.
+
2008-04-25 [colin] 3.4.0cvs15
* src/common/ssl.c
diff --git a/PATCHSETS b/PATCHSETS
@@ -3311,3 +3311,4 @@
( cvs diff -u -r 1.395.2.365 -r 1.395.2.366 src/summaryview.c; ) > 3.4.0cvs13.patchset
( cvs diff -u -r 1.9.2.14 -r 1.9.2.15 src/addrindex.h; cvs diff -u -r 1.9.2.26 -r 1.9.2.27 src/common/ssl.c; cvs diff -u -r 1.4.2.26 -r 1.4.2.27 src/common/ssl_certificate.c; ) > 3.4.0cvs14.patchset
( cvs diff -u -r 1.9.2.27 -r 1.9.2.28 src/common/ssl.c; ) > 3.4.0cvs15.patchset
+( cvs diff -u -r 1.213.2.181 -r 1.213.2.182 src/folder.c; cvs diff -u -r 1.36.2.137 -r 1.36.2.138 src/common/utils.c; ) > 3.4.0cvs16.patchset
diff --git a/configure.ac b/configure.ac
@@ -11,7 +11,7 @@ MINOR_VERSION=4
MICRO_VERSION=0
INTERFACE_AGE=0
BINARY_AGE=0
-EXTRA_VERSION=15
+EXTRA_VERSION=16
EXTRA_RELEASE=
EXTRA_GTK2_VERSION=
diff --git a/src/common/utils.c b/src/common/utils.c
@@ -5019,6 +5019,9 @@ int claws_unlink(const gchar *filename)
static int found_shred = -1;
static const gchar *args[4];
+ if (filename == NULL)
+ return 0;
+
if (found_shred == -1) {
/* init */
args[0] = g_find_program_in_path("shred");
diff --git a/src/folder.c b/src/folder.c
@@ -398,6 +398,7 @@ void folder_item_remove(FolderItem *item)
{
GNode *node, *start_node;
FolderUpdateData hookdata;
+ gchar *tags_file = NULL;
g_return_if_fail(item != NULL);
g_return_if_fail(item->folder != NULL);
@@ -424,6 +425,10 @@ void folder_item_remove(FolderItem *item)
msgcache_destroy(item->cache);
item->cache = NULL;
}
+ tags_file = folder_item_get_tags_file(item);
+ if (tags_file)
+ claws_unlink(tags_file);
+ g_free(tags_file);
hookdata.folder = item->folder;
hookdata.update_flags = FOLDER_TREE_CHANGED | FOLDER_REMOVE_FOLDERITEM;