From 712d73a94ee8c8fd79141c1019d082a056a6bb29 Mon Sep 17 00:00:00 2001 From: hiro Date: Fri, 20 May 2005 08:08:40 +0000 Subject: fixed the selection state of summary on refresh. git-svn-id: svn://sylpheed.sraoss.jp/sylpheed/trunk@274 ee746299-78ed-0310-b773-934348b2243d --- src/summaryview.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) (limited to 'src/summaryview.c') diff --git a/src/summaryview.c b/src/summaryview.c index 58493898..91fc8e32 100644 --- a/src/summaryview.c +++ b/src/summaryview.c @@ -537,6 +537,7 @@ gboolean summary_show(SummaryView *summaryview, FolderItem *item, gboolean update_cache) { GtkTreeView *treeview = GTK_TREE_VIEW(summaryview->treeview); + GtkTreeModel *model = GTK_TREE_MODEL(summaryview->store); GtkTreeIter iter; GSList *mlist = NULL; gchar *buf; @@ -647,11 +648,19 @@ gboolean summary_show(SummaryView *summaryview, FolderItem *item, if (is_refresh) { if (summary_find_msg_by_msgnum(summaryview, displayed_msgnum, - &iter)) - summary_select_row(summaryview, &iter, FALSE, TRUE); - else + &iter)) { + GtkTreePath *path; + + path = gtk_tree_model_get_path(model, &iter); + gtk_tree_row_reference_free(summaryview->displayed); + summaryview->displayed = + gtk_tree_row_reference_new(model, path); + gtk_tree_path_free(path); + } else messageview_clear(summaryview->messageview); + summary_select_by_msgnum(summaryview, selected_msgnum); + if (!summaryview->selected) { /* no selected message - select first unread message, but do not display it */ -- cgit v1.2.3