diff options
-rw-r--r-- | libempathy-gtk/empathy-contact-list-view.c | 16 |
1 files changed, 9 insertions, 7 deletions
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; |