* src/summaryview.c
authorAlfons Hoogervorst <alfons@proteus.demon.nl>
Fri, 22 Nov 2002 11:46:05 +0000 (11:46 +0000)
committerAlfons Hoogervorst <alfons@proteus.demon.nl>
Fri, 22 Nov 2002 11:46:05 +0000 (11:46 +0000)
summary_execute_delete_func(): if message is deleted, make
sure to also remove its entry in the subject hash table.
fixes a corner case bug.

ChangeLog.claws
configure.in
src/summaryview.c

index 77154fa..e60dc12 100644 (file)
@@ -1,3 +1,10 @@
+2002-11-22 [alfons]    0.8.5claws178
+
+       * src/summaryview.c
+               summary_execute_delete_func(): if message is deleted, make 
+               sure to also remove its entry in the subject hash table. 
+               fixes a corner case bug.
+
 2002-11-22 [paul]      0.8.5claws177
 
        * .cvsignore
 2002-11-22 [paul]      0.8.5claws177
 
        * .cvsignore
index 32e8162..6e974a7 100644 (file)
@@ -11,7 +11,7 @@ MINOR_VERSION=8
 MICRO_VERSION=5
 INTERFACE_AGE=0
 BINARY_AGE=0
 MICRO_VERSION=5
 INTERFACE_AGE=0
 BINARY_AGE=0
-EXTRA_VERSION=claws177
+EXTRA_VERSION=claws178
 VERSION=$MAJOR_VERSION.$MINOR_VERSION.$MICRO_VERSION$EXTRA_VERSION
 
 dnl set $target
 VERSION=$MAJOR_VERSION.$MINOR_VERSION.$MICRO_VERSION$EXTRA_VERSION
 
 dnl set $target
index 45cfa27..7879d1f 100644 (file)
@@ -3567,9 +3567,16 @@ static void summary_execute_delete_func(GtkCTree *ctree, GtkCTreeNode *node,
 
                if (msginfo->msgid && *msginfo->msgid &&
                    node == g_hash_table_lookup(summaryview->msgid_table,
 
                if (msginfo->msgid && *msginfo->msgid &&
                    node == g_hash_table_lookup(summaryview->msgid_table,
-                                               msginfo->msgid))
+                                               msginfo->msgid)) {
                        g_hash_table_remove(summaryview->msgid_table,
                                            msginfo->msgid);
                        g_hash_table_remove(summaryview->msgid_table,
                                            msginfo->msgid);
+               }                                          
+               if (msginfo->subject && *msginfo->subject && 
+                   node == g_hash_table_lookup(summaryview->subject_table,
+                                               msginfo->subject)) {
+                       g_hash_table_remove(summaryview->subject_table,
+                                           msginfo->subject);
+               }                                           
        }
 }
 
        }
 }