2007-09-20 [colin] 3.0.1cvs15
authorColin Leroy <colin@colino.net>
Thu, 20 Sep 2007 16:53:46 +0000 (16:53 +0000)
committerColin Leroy <colin@colino.net>
Thu, 20 Sep 2007 16:53:46 +0000 (16:53 +0000)
* src/folderview.c
* src/folderview.h
Maybe fix bug 1324, 'Corrupted IMAP cache'

ChangeLog
PATCHSETS
configure.ac
src/folderview.c
src/folderview.h

index 26a16bb..32cc1f2 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2007-09-20 [colin]     3.0.1cvs15
+
+       * src/folderview.c
+       * src/folderview.h
+               Maybe fix bug 1324, 'Corrupted IMAP cache'
+
 2007-09-20 [colin]     3.0.1cvs14
 
        * src/printing.c
index fca9c12..718c9a4 100644 (file)
--- a/PATCHSETS
+++ b/PATCHSETS
 ( cvs diff -u -r 1.17.2.16 -r 1.17.2.17 po/ru.po;  ) > 3.0.1cvs12.patchset
 ( cvs diff -u -r 1.1.2.6 -r 1.1.2.7 src/printing.c;  ) > 3.0.1cvs13.patchset
 ( cvs diff -u -r 1.1.2.7 -r 1.1.2.8 src/printing.c;  ) > 3.0.1cvs14.patchset
+( cvs diff -u -r 1.207.2.183 -r 1.207.2.184 src/folderview.c;  cvs diff -u -r 1.20.2.21 -r 1.20.2.22 src/folderview.h;  ) > 3.0.1cvs15.patchset
index 53319a9..6f0787a 100644 (file)
@@ -11,7 +11,7 @@ MINOR_VERSION=0
 MICRO_VERSION=1
 INTERFACE_AGE=0
 BINARY_AGE=0
-EXTRA_VERSION=14
+EXTRA_VERSION=15
 EXTRA_RELEASE=
 EXTRA_GTK2_VERSION=
 
index 1b6fe08..ce1db2b 100644 (file)
@@ -1197,7 +1197,7 @@ gint folderview_check_new(Folder *folder)
        for (list = folderview_list; list != NULL; list = list->next) {
                folderview = (FolderView *)list->data;
                ctree = GTK_CTREE(folderview->ctree);
-
+               folderview->scanning_folder = folder;
                inc_lock();
                main_window_lock(folderview->mainwin);
 
@@ -1264,7 +1264,7 @@ gint folderview_check_new(Folder *folder)
                        former_new_msgs += former_new;
                        STATUSBAR_POP(folderview->mainwin);
                }
-
+               folderview->scanning_folder = NULL;
                main_window_unlock(folderview->mainwin);
                inc_unlock();
        }
@@ -2150,7 +2150,15 @@ static void folderview_selected(GtkCTree *ctree, GtkCTreeNode *row,
                return;
        }
        
-       if (!can_select || summary_is_locked(folderview->summaryview)) {
+       item = gtk_ctree_node_get_row_data(ctree, row);
+       if (!item) {
+               END_TIMING();
+               folderview->open_folder = FALSE;
+               return;
+       }
+
+       if (!can_select || summary_is_locked(folderview->summaryview)
+       ||  folderview->scanning_folder == item->folder) {
                if (folderview->opened) {
                        gtkut_ctree_set_focus_row(ctree, folderview->opened);
                        gtk_ctree_select(ctree, folderview->opened);
@@ -2164,12 +2172,6 @@ static void folderview_selected(GtkCTree *ctree, GtkCTreeNode *row,
                END_TIMING();
                return;
        }
-       item = gtk_ctree_node_get_row_data(ctree, row);
-       if (!item) {
-               END_TIMING();
-               folderview->open_folder = FALSE;
-               return;
-       }
 
        can_select = FALSE;
 
index 5b10e56..cf13527 100644 (file)
@@ -79,6 +79,7 @@ struct _FolderView
        FolderColumnState col_state[N_FOLDER_COLS];
        gint col_pos[N_FOLDER_COLS];
        gint deferred_refresh_id;
+       Folder *scanning_folder;
 };
 
 struct _FolderViewPopup