[anjuta] am-project: Fix move of projects (used in regression tests)
- From: Sebastien Granjoux <sgranjoux src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [anjuta] am-project: Fix move of projects (used in regression tests)
- Date: Sat, 21 Jan 2012 20:58:08 +0000 (UTC)
commit 0f7f398a07106d9e5970a6d3368727f1c90e557d
Author: SÃbastien Granjoux <seb sfo free fr>
Date: Sat Jan 21 19:44:43 2012 +0100
am-project: Fix move of projects (used in regression tests)
This has probably been broken when merging the root and top group node.
plugins/am-project/am-project.c | 21 ++++++++-------------
1 files changed, 8 insertions(+), 13 deletions(-)
---
diff --git a/plugins/am-project/am-project.c b/plugins/am-project/am-project.c
index 7729b7b..ce88876 100644
--- a/plugins/am-project/am-project.c
+++ b/plugins/am-project/am-project.c
@@ -1876,6 +1876,7 @@ amp_project_get_node_info (AmpProject *project, GError **error)
typedef struct _AmpMovePacket {
AmpProject *project;
GFile *old_root_file;
+ GFile *new_root_file;
} AmpMovePacket;
static void
@@ -1883,7 +1884,7 @@ foreach_node_move (AnjutaProjectNode *g_node, gpointer data)
{
AmpProject *project = ((AmpMovePacket *)data)->project;
GFile *old_root_file = ((AmpMovePacket *)data)->old_root_file;
- GFile *root_file = anjuta_project_node_get_file (ANJUTA_PROJECT_NODE (project));
+ GFile *new_root_file = ((AmpMovePacket *)data)->new_root_file;
gchar *relative;
GFile *new_file;
@@ -1891,7 +1892,7 @@ foreach_node_move (AnjutaProjectNode *g_node, gpointer data)
{
case ANJUTA_PROJECT_GROUP:
relative = get_relative_path (old_root_file, anjuta_project_node_get_file (g_node));
- new_file = g_file_resolve_relative_path (root_file, relative);
+ new_file = g_file_resolve_relative_path (new_root_file, relative);
g_free (relative);
amp_group_node_set_file (AMP_GROUP_NODE (g_node), new_file);
g_object_unref (new_file);
@@ -1900,7 +1901,7 @@ foreach_node_move (AnjutaProjectNode *g_node, gpointer data)
break;
case ANJUTA_PROJECT_SOURCE:
relative = get_relative_path (old_root_file, anjuta_project_node_get_file (g_node));
- new_file = g_file_resolve_relative_path (root_file, relative);
+ new_file = g_file_resolve_relative_path (new_root_file, relative);
g_free (relative);
amp_source_node_set_file (AMP_SOURCE_NODE (g_node), new_file);
g_object_unref (new_file);
@@ -1914,7 +1915,6 @@ gboolean
amp_project_move (AmpProject *project, const gchar *path)
{
GFile *new_file;
- GFile *root_file;
gchar *relative;
GList *list;
gpointer key;
@@ -1925,11 +1925,7 @@ amp_project_move (AmpProject *project, const gchar *path)
/* Change project root directory */
packet.old_root_file = g_object_ref (anjuta_project_node_get_file (ANJUTA_PROJECT_NODE (project)));
- root_file = g_file_new_for_path (path);
- amp_root_node_set_file (AMP_ROOT_NODE (project), root_file);
-
- /* Root node is a group too */
- foreach_node_move (ANJUTA_PROJECT_NODE (project), &packet);
+ packet.new_root_file = g_file_new_for_path (path);
/* Change project root directory in groups */
old_hash = project->groups;
@@ -1943,7 +1939,7 @@ amp_project_move (AmpProject *project, const gchar *path)
AnjutaTokenFile *tfile = (AnjutaTokenFile *)list->data;
relative = get_relative_path (packet.old_root_file, anjuta_token_file_get_file (tfile));
- new_file = g_file_resolve_relative_path (root_file, relative);
+ new_file = g_file_resolve_relative_path (packet.new_root_file, relative);
g_free (relative);
anjuta_token_file_move (tfile, new_file);
}
@@ -1955,7 +1951,7 @@ amp_project_move (AmpProject *project, const gchar *path)
while (g_hash_table_iter_next (&iter, &key, (gpointer *)&cfg))
{
relative = get_relative_path (packet.old_root_file, cfg->file);
- new_file = g_file_resolve_relative_path (root_file, relative);
+ new_file = g_file_resolve_relative_path (packet.new_root_file, relative);
g_free (relative);
g_object_unref (cfg->file);
cfg->file = new_file;
@@ -1965,9 +1961,8 @@ amp_project_move (AmpProject *project, const gchar *path)
g_hash_table_steal_all (old_hash);
g_hash_table_destroy (old_hash);
-
- g_object_unref (root_file);
g_object_unref (packet.old_root_file);
+ g_object_unref (packet.new_root_file);
return TRUE;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]