[telepathy-gabble/master] lm_message_node_unlink; takes the parent as argument
Guillaume Desmottes
guillaume.desmottes at collabora.co.uk
Fri Jun 26 08:49:46 PDT 2009
This will allow us to re-implement this function in Wocky-land (Wocky
nodes don't have a parent pointer).
---
src/util.c | 7 ++++---
src/util.h | 3 ++-
src/vcard-manager.c | 2 +-
3 files changed, 7 insertions(+), 5 deletions(-)
diff --git a/src/util.c b/src/util.c
index b8d4e11..70977e9 100644
--- a/src/util.c
+++ b/src/util.c
@@ -124,10 +124,11 @@ lm_message_node_add_own_nick (LmMessageNode *node,
}
void
-lm_message_node_unlink (LmMessageNode *orphan)
+lm_message_node_unlink (LmMessageNode *orphan,
+ LmMessageNode *parent)
{
- if (orphan->parent && orphan == orphan->parent->children)
- orphan->parent->children = orphan->next;
+ if (parent && orphan == parent->children)
+ parent->children = orphan->next;
if (orphan->prev)
orphan->prev->next = orphan->next;
if (orphan->next)
diff --git a/src/util.h b/src/util.h
index 8e29fac..7760b7e 100644
--- a/src/util.h
+++ b/src/util.h
@@ -47,7 +47,8 @@ gchar *gabble_generate_id (void);
void lm_message_node_add_own_nick (LmMessageNode *node,
GabbleConnection *conn);
-void lm_message_node_unlink (LmMessageNode *orphan);
+void lm_message_node_unlink (LmMessageNode *orphan,
+ LmMessageNode *parent);
void lm_message_node_steal_children (LmMessageNode *snatcher,
LmMessageNode *mum);
gboolean lm_message_node_has_namespace (LmMessageNode *node, const gchar *ns,
diff --git a/src/vcard-manager.c b/src/vcard-manager.c
index b2674df..78a84d1 100644
--- a/src/vcard-manager.c
+++ b/src/vcard-manager.c
@@ -936,7 +936,7 @@ patch_vcard_foreach (gpointer k, gpointer v, gpointer user_data)
node = lm_message_node_get_child (vcard_node, "PHOTO");
if (node != NULL)
{
- lm_message_node_unlink (node);
+ lm_message_node_unlink (node, vcard_node);
lm_message_node_unref (node);
}
--
1.5.6.5
More information about the telepathy-commits
mailing list