summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libempathy/empathy-tp-roomlist.c11
-rw-r--r--src/empathy-new-chatroom-dialog.c10
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));