+ EmpathyRosterWindow *self = user_data;
+ const gchar *room, *path;
+ EmpathyClientFactory *factory;
+ TpAccount *account;
+ GError *error = NULL;
+ EmpathyChatroom *chatroom;
+
+ g_variant_get (parameter, "(&s&s)", &room, &path);
+
+ factory = empathy_client_factory_dup ();
+
+ account = tp_simple_client_factory_ensure_account (
+ TP_SIMPLE_CLIENT_FACTORY (factory), path, NULL, &error);
+ if (account == NULL)
+ {
+ DEBUG ("Failed to get account '%s': %s", path, error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ chatroom = empathy_chatroom_manager_find (self->priv->chatroom_manager,
+ account, room);
+ if (chatroom == NULL)
+ {
+ DEBUG ("Failed to get chatroom '%s' on '%s': %s",
+ room, path, error->message);
+ g_error_free (error);
+ goto out;
+ }
+