[Commits] [SCM] claws branch, gtk3, updated. 3.16.0-105-ga1fddbf

ticho at claws-mail.org ticho at claws-mail.org
Mon Feb 26 22:12:58 CET 2018


The branch, gtk3 has been updated
       via  a1fddbf2dd4be1962f0378d3546240e1f491d2bf (commit)
      from  442757e8684b6684932fab4b7804850612575c71 (commit)

Summary of changes:
 src/summaryview.c |   15 +++++++++++++++
 1 file changed, 15 insertions(+)


- Log -----------------------------------------------------------------
commit a1fddbf2dd4be1962f0378d3546240e1f491d2bf
Author: Andrej Kacian <ticho at claws-mail.org>
Date:   Mon Feb 26 22:06:27 2018 +0100

    Fix summary_select_all when there is nothing selected.
    
    Due to how GtkCMCList works, we first need to focus and
    select a row.
    Fixes bug #3973, ''select all' in summaryview does not
    automatically focus the summaryview'

diff --git a/src/summaryview.c b/src/summaryview.c
index 60938ef..586d7b1 100644
--- a/src/summaryview.c
+++ b/src/summaryview.c
@@ -4819,11 +4819,26 @@ void summary_add_address(SummaryView *summaryview)
 
 void summary_select_all(SummaryView *summaryview)
 {
+	GtkCMCTreeNode *node;
+
 	if (!summaryview->folder_item) return;
 
+	if (GTK_CMCLIST(summaryview->ctree)->focus_row < 0) {
+		/* If no row is selected, select (but do not open) the first
+		 * row, to get summaryview into correct state for selecting all. */
+		debug_print("summary_select_all: no row selected, selecting first one\n");
+		if (GTK_CMCLIST(summaryview->ctree)->row_list != NULL) {
+			node = gtk_cmctree_node_nth(GTK_CMCTREE(summaryview->ctree), 0);
+			summary_select_node(summaryview, node, FALSE);
+		}
+	}
+
+	/* Now select all rows while locking the summaryview for
+	 * faster performance. */
 	summary_lock(summaryview);
 	gtk_cmclist_select_all(GTK_CMCLIST(summaryview->ctree));
 	summary_unlock(summaryview);
+
 	summary_status_show(summaryview);
 }
 

-----------------------------------------------------------------------


hooks/post-receive
-- 
Claws Mail


More information about the Commits mailing list