fix wrong test
authorColin Leroy <colin@colino.net>
Tue, 27 Jul 2004 19:33:35 +0000 (19:33 +0000)
committerColin Leroy <colin@colino.net>
Tue, 27 Jul 2004 19:33:35 +0000 (19:33 +0000)
ChangeLog.claws
PATCHSETS
configure.ac
src/msgcache.c

index 178288c..9976260 100644 (file)
@@ -1,3 +1,8 @@
+2004-07-27 [colin]     0.9.12cvs36
+
+       * src/msgcache.c
+               Fix wrong test 
+
 2004-07-26 [colin]     0.9.12cvs35
 
        * src/pop.c
 2004-07-26 [colin]     0.9.12cvs35
 
        * src/pop.c
index daf2f39..8a9b0e6 100644 (file)
--- a/PATCHSETS
+++ b/PATCHSETS
@@ -22,3 +22,4 @@
 ( cvs diff -u -r 1.106 -r 1.107 src/folder.h; cvs diff -u -r 1.244 -r 1.245 src/folderview.c; cvs diff -u -r 1.440 -r 1.441 src/summaryview.c; ) > 0.9.12cvs33.patchset
 ( cvs diff -u -r 1.430 -r 1.431 src/compose.c; ) > 0.9.12cvs34.patchset
 ( cvs diff -u -r 1.65 -r 1.66 src/pop.c; ) > 0.9.12cvs35.patchset
 ( cvs diff -u -r 1.106 -r 1.107 src/folder.h; cvs diff -u -r 1.244 -r 1.245 src/folderview.c; cvs diff -u -r 1.440 -r 1.441 src/summaryview.c; ) > 0.9.12cvs33.patchset
 ( cvs diff -u -r 1.430 -r 1.431 src/compose.c; ) > 0.9.12cvs34.patchset
 ( cvs diff -u -r 1.65 -r 1.66 src/pop.c; ) > 0.9.12cvs35.patchset
+( cvs diff -u -r 1.24 -r 1.25 src/msgcache.c; ) > 0.9.12cvs36.patchset
index 611a588..fc31380 100644 (file)
@@ -11,7 +11,7 @@ MINOR_VERSION=9
 MICRO_VERSION=12
 INTERFACE_AGE=0
 BINARY_AGE=0
 MICRO_VERSION=12
 INTERFACE_AGE=0
 BINARY_AGE=0
-EXTRA_VERSION=35
+EXTRA_VERSION=36
 EXTRA_RELEASE=
 
 if test \( $EXTRA_VERSION -eq 0 \) -o \( "x$EXTRA_RELEASE" != "x" \); then
 EXTRA_RELEASE=
 
 if test \( $EXTRA_VERSION -eq 0 \) -o \( "x$EXTRA_RELEASE" != "x" \); then
index cfc1d09..f9fb466 100644 (file)
@@ -116,11 +116,13 @@ void msgcache_update_msg(MsgCache *cache, MsgInfo *msginfo)
        g_return_if_fail(msginfo != NULL);
 
        oldmsginfo = g_hash_table_lookup(cache->msgnum_table, &msginfo->msgnum);
        g_return_if_fail(msginfo != NULL);
 
        oldmsginfo = g_hash_table_lookup(cache->msgnum_table, &msginfo->msgnum);
-       if(msginfo) {
+       if(oldmsginfo && oldmsginfo->msgid) {
                g_hash_table_remove(cache->msgid_table, oldmsginfo->msgid);
                g_hash_table_remove(cache->msgnum_table, &oldmsginfo->msgnum);
                g_hash_table_remove(cache->msgid_table, oldmsginfo->msgid);
                g_hash_table_remove(cache->msgnum_table, &oldmsginfo->msgnum);
+       } 
+       if (oldmsginfo)
                procmsg_msginfo_free(oldmsginfo);
                procmsg_msginfo_free(oldmsginfo);
-       }
+
        cache->memusage -= procmsg_msginfo_memusage(oldmsginfo);
 
        newmsginfo = procmsg_msginfo_new_ref(msginfo);
        cache->memusage -= procmsg_msginfo_memusage(oldmsginfo);
 
        newmsginfo = procmsg_msginfo_new_ref(msginfo);