]> Pileus Git - ~andy/gtk/commitdiff
treeview: Don't try to optimize away selection_changed signal
authorBenjamin Otte <otte@redhat.com>
Sat, 10 Dec 2011 05:49:29 +0000 (06:49 +0100)
committerBenjamin Otte <otte@redhat.com>
Sat, 10 Dec 2011 07:00:26 +0000 (08:00 +0100)
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.

gtk/gtktreeview.c

index c8a1438f6961509c77900a6f4472355cef335c47..2c3b00a768ead1a1c3a3ca8c277c912736408013 100644 (file)
@@ -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)