commit 934a97c5ee69d2da9983956ba1404c27283d64f2
parent fcc24631d8ce0fe49b00f25fe9d9ae4835af1906
Author: Paweł Pękala <c0rn@gazeta.pl>
Date: Sat, 26 Nov 2011 13:18:56 +0000
2011-11-26 [pawel] 3.7.10cvs105
* src/folder.c
Fix bug #2505 'tagsdb becomes polluted with old folder entries'
Diffstat:
4 files changed, 13 insertions(+), 2 deletions(-)
diff --git a/ChangeLog b/ChangeLog
@@ -1,3 +1,8 @@
+2011-11-26 [pawel] 3.7.10cvs105
+
+ * src/folder.c
+ Fix bug #2505 'tagsdb becomes polluted with old folder entries'
+
2011-11-25 [colin] 3.7.10cvs104
* src/imap_gtk.c
diff --git a/PATCHSETS b/PATCHSETS
@@ -4308,3 +4308,4 @@
( cvs diff -u -r 1.61.2.103 -r 1.61.2.104 src/account.c; cvs diff -u -r 1.60.2.59 -r 1.60.2.60 src/filtering.c; cvs diff -u -r 1.21.2.20 -r 1.21.2.21 src/filtering.h; cvs diff -u -r 1.1.2.67 -r 1.1.2.68 src/imap_gtk.c; cvs diff -u -r 1.2.2.39 -r 1.2.2.40 src/mh_gtk.c; cvs diff -u -r 1.60.2.77 -r 1.60.2.78 src/prefs_actions.c; cvs diff -u -r 1.5.2.7 -r 1.5.2.8 src/prefs_actions.h; ) > 3.7.10cvs102.patchset
( cvs diff -u -r 1.59.2.87 -r 1.59.2.88 src/prefs_filtering.c; ) > 3.7.10cvs103.patchset
( cvs diff -u -r 1.1.2.68 -r 1.1.2.69 src/imap_gtk.c; cvs diff -u -r 1.2.2.40 -r 1.2.2.41 src/mh_gtk.c; ) > 3.7.10cvs104.patchset
+( cvs diff -u -r 1.213.2.203 -r 1.213.2.204 src/folder.c; ) > 3.7.10cvs105.patchset
diff --git a/configure.ac b/configure.ac
@@ -12,7 +12,7 @@ MINOR_VERSION=7
MICRO_VERSION=10
INTERFACE_AGE=0
BINARY_AGE=0
-EXTRA_VERSION=104
+EXTRA_VERSION=105
EXTRA_RELEASE=
EXTRA_GTK2_VERSION=
diff --git a/src/folder.c b/src/folder.c
@@ -398,7 +398,7 @@ void folder_item_remove(FolderItem *item)
{
GNode *node, *start_node;
FolderUpdateData hookdata;
- gchar *tags_file = NULL;
+ gchar *tags_file = NULL, *tags_dir = NULL;
cm_return_if_fail(item != NULL);
cm_return_if_fail(item->folder != NULL);
@@ -428,7 +428,12 @@ void folder_item_remove(FolderItem *item)
tags_file = folder_item_get_tags_file(item);
if (tags_file)
claws_unlink(tags_file);
+ tags_dir = g_path_get_dirname(tags_file);
+ if (tags_dir)
+ rmdir(tags_dir);
+
g_free(tags_file);
+ g_free(tags_dir);
hookdata.folder = item->folder;
hookdata.update_flags = FOLDER_TREE_CHANGED | FOLDER_REMOVE_FOLDERITEM;