]> Pileus Git - ~andy/gtk/commitdiff
Do not emit rows-reordered for levels with no visible rows
authorKristian Rietveld <kris@gtk.org>
Sun, 24 Jul 2011 16:52:59 +0000 (18:52 +0200)
committerKristian Rietveld <kris@gtk.org>
Mon, 22 Aug 2011 19:30:33 +0000 (21:30 +0200)
gtk/gtktreemodelfilter.c

index 75f486db3ea329220340af23b5658d20a600b6ba..2a3eec46b0a846bd92f2b5ff6943cf459d3b2620 100644 (file)
@@ -2641,17 +2641,20 @@ gtk_tree_model_filter_rows_reordered (GtkTreeModel *c_model,
 
 
   /* emit rows_reordered */
-  if (!gtk_tree_path_get_indices (path))
-    gtk_tree_model_rows_reordered (GTK_TREE_MODEL (data), path, NULL,
-                                   tmp_array);
-  else
+  if (level->visible_nodes > 0)
     {
-      /* get a path taking only visible nodes into account */
-      gtk_tree_path_free (path);
-      path = gtk_tree_model_get_path (GTK_TREE_MODEL (data), &iter);
+      if (!gtk_tree_path_get_indices (path))
+        gtk_tree_model_rows_reordered (GTK_TREE_MODEL (data), path, NULL,
+                                       tmp_array);
+      else
+        {
+          /* get a path taking only visible nodes into account */
+          gtk_tree_path_free (path);
+          path = gtk_tree_model_get_path (GTK_TREE_MODEL (data), &iter);
 
-      gtk_tree_model_rows_reordered (GTK_TREE_MODEL (data), path, &iter,
-                                     tmp_array);
+          gtk_tree_model_rows_reordered (GTK_TREE_MODEL (data), path, &iter,
+                                         tmp_array);
+        }
     }
 
   /* done */