commit a397d77d1f75b2be97f946f28ffaf452643a2965
parent 3c75f0d70030390d7079a67943b9d11b17d02e33
Author: Colin Leroy <colin@colino.net>
Date: Tue, 12 Feb 2008 17:18:30 +0000
2008-02-12 [colin] 3.3.0cvs9
* src/folderview.c
Fix crashy stuff when changing displayed
columns
Diffstat:
4 files changed, 20 insertions(+), 1 deletion(-)
diff --git a/ChangeLog b/ChangeLog
@@ -1,3 +1,9 @@
+2008-02-12 [colin] 3.3.0cvs9
+
+ * src/folderview.c
+ Fix crashy stuff when changing displayed
+ columns
+
2008-02-12 [wwp] 3.3.0cvs8
* src/folder.h
diff --git a/PATCHSETS b/PATCHSETS
@@ -3222,3 +3222,4 @@
( cvs diff -u -r 1.42.2.35 -r 1.42.2.36 po/fr.po; ) > 3.3.0cvs6.patchset
( cvs diff -u -r 1.382.2.436 -r 1.382.2.437 src/compose.c; cvs diff -u -r 1.8.2.25 -r 1.8.2.26 src/export.c; cvs diff -u -r 1.213.2.176 -r 1.213.2.177 src/folder.c; cvs diff -u -r 1.87.2.53 -r 1.87.2.54 src/folder.h; cvs diff -u -r 1.26.2.34 -r 1.26.2.35 src/foldersel.c; cvs diff -u -r 1.4.12.5 -r 1.4.12.6 src/foldersel.h; cvs diff -u -r 1.1.2.53 -r 1.1.2.54 src/imap_gtk.c; cvs diff -u -r 1.13.2.24 -r 1.13.2.25 src/import.c; cvs diff -u -r 1.274.2.232 -r 1.274.2.233 src/mainwindow.c; cvs diff -u -r 1.94.2.170 -r 1.94.2.171 src/messageview.c; cvs diff -u -r 1.2.2.29 -r 1.2.2.30 src/mh_gtk.c; cvs diff -u -r 1.105.2.123 -r 1.105.2.124 src/prefs_account.c; cvs diff -u -r 1.1.4.48 -r 1.1.4.49 src/prefs_filtering_action.c; cvs diff -u -r 1.395.2.354 -r 1.395.2.355 src/summaryview.c; cvs diff -u -r 1.1.2.29 -r 1.1.2.30 src/plugins/bogofilter/bogofilter_gtk.c; cvs diff -u -r 1.23.2.46 -r 1.23.2.47 src/plugins/spamassassin/spamassassin_gtk.c; ) > 3.3.0cvs7.patchset
( cvs diff -u -r 1.87.2.54 -r 1.87.2.55 src/folder.h; ) > 3.3.0cvs8.patchset
+( cvs diff -u -r 1.207.2.195 -r 1.207.2.196 src/folderview.c; ) > 3.3.0cvs9.patchset
diff --git a/configure.ac b/configure.ac
@@ -11,7 +11,7 @@ MINOR_VERSION=3
MICRO_VERSION=0
INTERFACE_AGE=0
BINARY_AGE=0
-EXTRA_VERSION=8
+EXTRA_VERSION=9
EXTRA_RELEASE=
EXTRA_GTK2_VERSION=
diff --git a/src/folderview.c b/src/folderview.c
@@ -605,11 +605,18 @@ void folderview_set_column_order(FolderView *folderview)
{
GtkWidget *ctree;
FolderItem *item = folderview_get_selected_item(folderview);
+ FolderItem *sel_item = NULL, *op_item = NULL;
GtkWidget *scrolledwin = folderview->scrolledwin;
+ if (folderview->selected)
+ sel_item = gtk_ctree_node_get_row_data(ctree, folderview->selected);
+ if (folderview->opened)
+ op_item = gtk_ctree_node_get_row_data(ctree, folderview->opened);
+
debug_print("recreating tree...\n");
gtk_widget_destroy(folderview->ctree);
+
folderview->ctree = ctree = folderview_ctree_create(folderview);
gtk_scrolled_window_set_hadjustment(GTK_SCROLLED_WINDOW(scrolledwin),
GTK_CLIST(ctree)->hadjustment);
@@ -617,6 +624,11 @@ void folderview_set_column_order(FolderView *folderview)
GTK_CLIST(ctree)->vadjustment);
gtk_widget_show(ctree);
+ if (sel_item)
+ folderview->selected = gtk_ctree_find_by_row_data(ctree, NULL, sel_item);
+ if (op_item)
+ folderview->opened = gtk_ctree_find_by_row_data(ctree, NULL, op_item);
+
folderview_set(folderview);
folderview_column_set_titles(folderview);