diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/empathy-main-window.c | 20 | ||||
-rw-r--r-- | src/empathy-new-chatroom-dialog.c | 14 |
2 files changed, 11 insertions, 23 deletions
diff --git a/src/empathy-main-window.c b/src/empathy-main-window.c index 4a6c86212..a20345e6d 100644 --- a/src/empathy-main-window.c +++ b/src/empathy-main-window.c @@ -31,6 +31,7 @@ #include <libempathy/empathy-contact.h> #include <libempathy/empathy-utils.h> #include <libempathy/empathy-account-manager.h> +#include <libempathy/empathy-dispatcher.h> #include <libempathy/empathy-chatroom-manager.h> #include <libempathy/empathy-chatroom.h> #include <libempathy/empathy-contact-list.h> @@ -49,6 +50,8 @@ #include <libempathy-gtk/empathy-new-message-dialog.h> #include <libempathy-gtk/empathy-gtk-enum-types.h> +#include <libmissioncontrol/mission-control.h> + #include "empathy-accounts-dialog.h" #include "empathy-main-window.h" #include "ephy-spinner.h" @@ -843,25 +846,20 @@ main_window_favorite_chatroom_join (EmpathyChatroom *chatroom) { MissionControl *mc; McAccount *account; - TpConnection *connection; const gchar *room; mc = empathy_mission_control_new (); account = empathy_chatroom_get_account (chatroom); room = empathy_chatroom_get_room (chatroom); + if (mission_control_get_connection_status (mc, account, NULL) != + TP_CONNECTION_STATUS_CONNECTED) { + return; + } + DEBUG ("Requesting channel for '%s'", room); + empathy_dispatcher_join_muc (account, room, NULL, NULL); - connection = mission_control_get_tpconnection (mc, account, NULL); - if (connection) { - tp_connection_run_until_ready (connection, TRUE, NULL, NULL); - empathy_connection_request_channel (connection, -1, - TP_IFACE_CHANNEL_TYPE_TEXT, - TP_HANDLE_TYPE_ROOM, - room, TRUE, - NULL, NULL, NULL, NULL); - g_object_unref (connection); - } g_object_unref (mc); } diff --git a/src/empathy-new-chatroom-dialog.c b/src/empathy-new-chatroom-dialog.c index 4a1fb90df..9c9a9a4cd 100644 --- a/src/empathy-new-chatroom-dialog.c +++ b/src/empathy-new-chatroom-dialog.c @@ -39,6 +39,7 @@ #include <libempathy/empathy-tp-roomlist.h> #include <libempathy/empathy-chatroom.h> #include <libempathy/empathy-utils.h> +#include <libempathy/empathy-dispatcher.h> #include <libempathy-gtk/empathy-account-chooser.h> #include <libempathy-gtk/empathy-ui-utils.h> @@ -489,8 +490,6 @@ new_chatroom_dialog_join (EmpathyNewChatroomDialog *dialog) { EmpathyAccountChooser *account_chooser; McAccount *account; - MissionControl *mc; - TpConnection *connection; const gchar *room; const gchar *server = NULL; gchar *room_name = NULL; @@ -508,18 +507,9 @@ new_chatroom_dialog_join (EmpathyNewChatroomDialog *dialog) } DEBUG ("Requesting channel for '%s'", room_name); + empathy_dispatcher_join_muc (account, room_name, NULL, NULL); - mc = empathy_mission_control_new (); - connection = mission_control_get_tpconnection (mc, account, NULL); - tp_connection_run_until_ready (connection, TRUE, NULL, NULL); - empathy_connection_request_channel (connection, -1, - TP_IFACE_CHANNEL_TYPE_TEXT, - TP_HANDLE_TYPE_ROOM, - room_name, TRUE, - NULL, NULL, NULL, NULL); g_free (room_name); - g_object_unref (connection); - g_object_unref (mc); } static void |