diff options
-rw-r--r-- | libempathy/empathy-tp-roomlist.c | 11 | ||||
-rw-r--r-- | src/empathy-new-chatroom-dialog.c | 10 |
2 files changed, 15 insertions, 6 deletions
diff --git a/libempathy/empathy-tp-roomlist.c b/libempathy/empathy-tp-roomlist.c index 26db75dd..4193685d 100644 --- a/libempathy/empathy-tp-roomlist.c +++ b/libempathy/empathy-tp-roomlist.c @@ -344,20 +344,23 @@ empathy_tp_roomlist_init (EmpathyTpRoomlist *list) EmpathyTpRoomlist * empathy_tp_roomlist_new (McAccount *account) { - MissionControl *mc; - TpConnection *connection; + EmpathyTpRoomlist *list; + MissionControl *mc; + TpConnection *connection; g_return_val_if_fail (MC_IS_ACCOUNT (account), NULL); mc = empathy_mission_control_new (); connection = mission_control_get_tpconnection (mc, account, NULL); - return g_object_new (EMPATHY_TYPE_TP_ROOMLIST, + list = g_object_new (EMPATHY_TYPE_TP_ROOMLIST, "connection", connection, NULL); g_object_unref (mc); g_object_unref (connection); + + return list; } gboolean @@ -376,6 +379,7 @@ empathy_tp_roomlist_start (EmpathyTpRoomlist *list) EmpathyTpRoomlistPriv *priv = GET_PRIV (list); g_return_if_fail (EMPATHY_IS_TP_ROOMLIST (list)); + g_return_if_fail (TP_IS_CHANNEL (priv->channel)); tp_cli_channel_type_room_list_call_list_rooms (priv->channel, -1, NULL, NULL, NULL, @@ -388,6 +392,7 @@ empathy_tp_roomlist_stop (EmpathyTpRoomlist *list) EmpathyTpRoomlistPriv *priv = GET_PRIV (list); g_return_if_fail (EMPATHY_IS_TP_ROOMLIST (list)); + g_return_if_fail (TP_IS_CHANNEL (priv->channel)); tp_cli_channel_type_room_list_call_stop_listing (priv->channel, -1, NULL, NULL, NULL, diff --git a/src/empathy-new-chatroom-dialog.c b/src/empathy-new-chatroom-dialog.c index 1b1dd653..5db40c0f 100644 --- a/src/empathy-new-chatroom-dialog.c +++ b/src/empathy-new-chatroom-dialog.c @@ -95,7 +95,7 @@ static void new_chatroom_dialog_new_room_cb (EmpathyTpRo EmpathyChatroom *chatroom, EmpathyNewChatroomDialog *dialog); static void new_chatroom_dialog_listing_cb (EmpathyTpRoomlist *room_list, - gboolean listing, + gpointer unused, EmpathyNewChatroomDialog *dialog); static void new_chatroom_dialog_model_clear (EmpathyNewChatroomDialog *dialog); static void new_chatroom_dialog_model_row_activated_cb (GtkTreeView *tree_view, @@ -366,7 +366,7 @@ new_chatroom_dialog_account_changed_cb (GtkComboBox *combobox, g_signal_connect (dialog->room_list, "new-room", G_CALLBACK (new_chatroom_dialog_new_room_cb), dialog); - g_signal_connect (dialog->room_list, "listing", + g_signal_connect (dialog->room_list, "notify::listing", G_CALLBACK (new_chatroom_dialog_listing_cb), dialog); @@ -415,9 +415,13 @@ new_chatroom_dialog_new_room_cb (EmpathyTpRoomlist *room_list, static void new_chatroom_dialog_listing_cb (EmpathyTpRoomlist *room_list, - gboolean listing, + gpointer unused, EmpathyNewChatroomDialog *dialog) { + gboolean listing; + + listing = empathy_tp_roomlist_is_listing (room_list); + /* Update the throbber */ if (listing) { ephy_spinner_start (EPHY_SPINNER (dialog->throbber)); |