1 --- gtk+-2.6.4/gtk/gtktreemodelfilter.c 2005-02-24 16:43:53.000000000 +0200
2 +++ gtk+-2.6.4/gtk/gtktreemodelfilter.c 2005-04-06 16:19:38.177734464 +0300
3 @@ -1210,14 +1210,22 @@
4 if (gtk_tree_path_get_depth (filter->priv->virtual_root) >=
5 gtk_tree_path_get_depth (c_path))
9 gint *v_indices, *c_indices;
10 + gboolean common_prefix = TRUE;
12 level = gtk_tree_path_get_depth (c_path) - 1;
13 v_indices = gtk_tree_path_get_indices (filter->priv->virtual_root);
14 c_indices = gtk_tree_path_get_indices (c_path);
16 - if (v_indices[level] >= c_indices[level])
17 + for (i = 0; i < level; i++)
18 + if (v_indices[i] != c_indices[i])
20 + common_prefix = FALSE;
24 + if (common_prefix && v_indices[level] >= c_indices[level])
28 @@ -1455,14 +1463,22 @@
29 if (gtk_tree_path_get_depth (filter->priv->virtual_root) >=
30 gtk_tree_path_get_depth (c_path))
34 gint *v_indices, *c_indices;
35 + gboolean common_prefix = TRUE;
37 level = gtk_tree_path_get_depth (c_path) - 1;
38 v_indices = gtk_tree_path_get_indices (filter->priv->virtual_root);
39 c_indices = gtk_tree_path_get_indices (c_path);
41 - if (v_indices[level] > c_indices[level])
42 + for (i = 0; i < level; i++)
43 + if (v_indices[i] != c_indices[i])
45 + common_prefix = FALSE;
49 + if (common_prefix && v_indices[level] > c_indices[level])