Couple of bug fixes related to using a virtual root.

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/branches/gnucash-gnome2-dev@9232 57a11ea4-9604-0410-9ed3-97b8803252fd
This commit is contained in:
David Hampton
2003-09-06 07:08:35 +00:00
parent 84a1db4fa8
commit 63bf8dff14

View File

@@ -545,9 +545,7 @@ egg_tree_model_filter_elt_get_path (FilterLevel *level,
if (root)
{
real_path = gtk_tree_path_copy (root);
egg_tree_model_filter_add_root (real_path, path);
real_path = egg_tree_model_filter_add_root (path, root);
gtk_tree_path_free (path);
return real_path;
}
@@ -980,6 +978,16 @@ egg_tree_model_filter_row_changed (GtkTreeModel *c_model,
else
gtk_tree_model_get_iter (c_model, &real_c_iter, c_path);
/* is this node above the virtual root? */
if (filter->virtual_root)
{
if (gtk_tree_path_get_depth (filter->virtual_root) >=
gtk_tree_path_get_depth (c_path))
{
goto done;
}
}
/* what's the requested state? */
requested_state = egg_tree_model_filter_visible (filter, &real_c_iter);
@@ -1057,7 +1065,7 @@ egg_tree_model_filter_row_changed (GtkTreeModel *c_model,
if (!path)
path = egg_real_tree_model_filter_convert_child_path_to_path (filter,
c_path,
FALSE,
TRUE,
TRUE);
g_return_if_fail (path != NULL);
@@ -2467,7 +2475,7 @@ egg_tree_model_filter_convert_iter_to_child_iter (EggTreeModelFilter *filter,
path = egg_tree_model_filter_elt_get_path (filter_iter->user_data,
filter_iter->user_data2,
NULL);
filter->virtual_root);
gtk_tree_model_get_iter (filter->child_model, child_iter, path);
gtk_tree_path_free (path);
}