From c1b66fcb4e53cfa4207510541f2144ca605a5d98 Mon Sep 17 00:00:00 2001 From: Sjoerd Simons Date: Mon, 14 Sep 2009 23:21:17 +0100 Subject: Correctly split and sanity check dropped contacts --- libempathy-gtk/empathy-contact-list-view.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) (limited to 'libempathy-gtk') diff --git a/libempathy-gtk/empathy-contact-list-view.c b/libempathy-gtk/empathy-contact-list-view.c index 3424e8dc1..184f88a02 100644 --- a/libempathy-gtk/empathy-contact-list-view.c +++ b/libempathy-gtk/empathy-contact-list-view.c @@ -246,13 +246,13 @@ contact_list_view_drag_data_received (GtkWidget *view, EmpathyContactListViewPriv *priv; EmpathyAccountManager *account_manager; EmpathyTpContactFactory *factory = NULL; - EmpathyAccount *account; + EmpathyAccount *account = NULL; GtkTreeModel *model; GtkTreeViewDropPosition position; GtkTreePath *path; const gchar *id; gchar **strv = NULL; - const gchar *account_id; + const gchar *account_id = NULL; const gchar *contact_id; gchar *new_group = NULL; gchar *old_group = NULL; @@ -298,11 +298,13 @@ contact_list_view_drag_data_received (GtkWidget *view, context->action == GDK_ACTION_COPY ? "copy" : "", id); - strv = g_strsplit (id, "/", 2); - account_id = strv[0]; - contact_id = strv[1]; - account_manager = empathy_account_manager_dup_singleton (); - account = empathy_account_manager_get_account (account_manager, account_id); + account_manager = empathy_account_manager_dup_singleton (); + strv = g_strsplit (id, ":", 2); + if (g_strv_length (strv) == 2) { + account_id = strv[0]; + contact_id = strv[1]; + account = empathy_account_manager_get_account (account_manager, account_id); + } if (account) { TpConnection *connection; -- cgit v1.2.3