summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenjamin Otte <otte@redhat.com>2011-12-10 06:49:29 +0100
committerBenjamin Otte <otte@redhat.com>2011-12-10 08:00:26 +0100
commitd4d2cc14d2c9d504a44f681828c38f2faa846970 (patch)
treef0801d544f68132482928797d9aad1735af73111
parentef4c4b7836e90f36c6d7fcef8e5e67b6dfab1d66 (diff)
downloadgtk+-d4d2cc14d2c9d504a44f681828c38f2faa846970.tar.gz
treeview: Don't try to optimize away selection_changed signal
We get certain cases, in particular with SELECTION_MULTIPLE, where we cannot figure out in advance of real_set_cursor() if the selection will actually change.
-rw-r--r--gtk/gtktreeview.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c
index c8a1438f69..2c3b00a768 100644
--- a/gtk/gtktreeview.c
+++ b/gtk/gtktreeview.c
@@ -9105,7 +9105,7 @@ gtk_tree_view_row_deleted (GtkTreeModel *model,
else
gtk_tree_view_real_set_cursor (tree_view, NULL, CLEAR_AND_SELECT | CURSOR_INVALID);
}
- else if (selection_changed)
+ if (selection_changed)
g_signal_emit_by_name (tree_view->priv->selection, "changed");
}
@@ -12908,11 +12908,9 @@ gtk_tree_view_real_collapse_row (GtkTreeView *tree_view,
_gtk_rbtree_remove (node->children);
- /* if we change the cursor, we also change the selection,
- * so no need to emit selection-changed. */
if (cursor_changed)
gtk_tree_view_real_set_cursor (tree_view, path, CLEAR_AND_SELECT | CURSOR_INVALID);
- else if (selection_changed)
+ if (selection_changed)
g_signal_emit_by_name (tree_view->priv->selection, "changed");
if (animate)