[anjuta] project-manager: Fix selection of shortcuts's source nodes



commit 8e9d34d1bc1ca41f78718cc38ead287e5764ce1d
Author: SÃbastien Granjoux <seb sfo free fr>
Date:   Tue Nov 1 13:56:49 2011 +0100

    project-manager: Fix selection of shortcuts's source nodes

 plugins/project-manager/project-view.c |   16 +++++++++++++---
 1 files changed, 13 insertions(+), 3 deletions(-)
---
diff --git a/plugins/project-manager/project-view.c b/plugins/project-manager/project-view.c
index 8631178..7109cb3 100644
--- a/plugins/project-manager/project-view.c
+++ b/plugins/project-manager/project-view.c
@@ -1538,7 +1538,7 @@ pm_convert_project_iter_to_model_iter (GtkTreeModel *model,
 
 		found = FALSE;
 
-		/* Check if it is a shortcut */
+		/* Check if it is a shortcut or a child of a shortcut */
 		if (project_iter != NULL)
 		{
 			GbfTreeData *data;
@@ -1547,12 +1547,22 @@ pm_convert_project_iter_to_model_iter (GtkTreeModel *model,
 			                    GBF_PROJECT_MODEL_COLUMN_DATA, &data,
 			                    -1);
 
-			if ((data != NULL) && (data->shortcut != NULL))
+			if ((data != NULL) && (data->node != NULL))
 			{
 				/* Select the corresponding node */
+				GtkTreePath *path;
+				GtkTreeIter root;
 				GtkTreeIter iter;
+				gboolean valid = FALSE;
+
+				path = gbf_project_model_get_project_root (GBF_PROJECT_MODEL (project_model));
+				if (path)
+				{
+					valid = gtk_tree_model_get_iter (project_model, &root, path);
+					gtk_tree_path_free (path);
+				}
 
-				if (gbf_project_model_find_tree_data (GBF_PROJECT_MODEL (project_model), &iter, data->shortcut))
+				if (valid && gbf_project_model_find_node (GBF_PROJECT_MODEL (project_model), &iter, &root, data->node))
 				{
 					found = gtk_tree_model_filter_convert_child_iter_to_iter (
 							GTK_TREE_MODEL_FILTER (model), model_iter, &iter);



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]