summaryrefslogtreecommitdiff
path: root/gtk/gtktreemodelfilter.c
diff options
context:
space:
mode:
authorKristian Rietveld <kris@gtk.org>2011-10-03 21:35:21 +0200
committerKristian Rietveld <kris@gtk.org>2011-10-03 22:59:40 +0200
commitf646ed6f766cda7da8a223824eb6233a7b67e347 (patch)
tree09e457b4a609783ab7121ad0fbc0d8132fb786d5 /gtk/gtktreemodelfilter.c
parent6fdf882eb447b167133b9f7e693bb64458e3fabd (diff)
downloadgtk+-f646ed6f766cda7da8a223824eb6233a7b67e347.tar.gz
Fix first part of bug 659022
Push creation of path into if clause, the path cannot be created anyway (and would be meaningless otherwise) if the parent is not visible.
Diffstat (limited to 'gtk/gtktreemodelfilter.c')
-rw-r--r--gtk/gtktreemodelfilter.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/gtk/gtktreemodelfilter.c b/gtk/gtktreemodelfilter.c
index 9c81d68ad5..e5e4955e38 100644
--- a/gtk/gtktreemodelfilter.c
+++ b/gtk/gtktreemodelfilter.c
@@ -2073,17 +2073,17 @@ gtk_tree_model_filter_row_changed (GtkTreeModel *c_model,
if (current_state == TRUE && requested_state == TRUE)
{
- /* propagate the signal; also get a path taking only visible
- * nodes into account.
- */
- gtk_tree_path_free (path);
- path = gtk_tree_model_get_path (GTK_TREE_MODEL (filter), &iter);
-
level = FILTER_LEVEL (iter.user_data);
elt = FILTER_ELT (iter.user_data2);
if (gtk_tree_model_filter_elt_is_visible_in_target (level, elt))
{
+ /* propagate the signal; also get a path taking only visible
+ * nodes into account.
+ */
+ gtk_tree_path_free (path);
+ path = gtk_tree_model_get_path (GTK_TREE_MODEL (filter), &iter);
+
if (level->ext_ref_count > 0)
gtk_tree_model_row_changed (GTK_TREE_MODEL (filter), path, &iter);