diff options
author | Jonny Lamb <jonny.lamb@collabora.co.uk> | 2012-08-02 16:07:48 +0100 |
---|---|---|
committer | Jonny Lamb <jonny.lamb@collabora.co.uk> | 2012-08-02 16:07:48 +0100 |
commit | f459366bff38f43d957d7f67b55aaef640f2e4b8 (patch) | |
tree | c624f08bb796665bbc0519e447eac94f44c752e1 | |
parent | d884ea9c98163796436a3dbd4bbb5c19279b3b95 (diff) |
muc-channel: remove ::appeared signal, replace with is_respawning check
Signed-off-by: Jonny Lamb <jonny.lamb@collabora.co.uk>
-rw-r--r-- | src/muc-channel.c | 11 | ||||
-rw-r--r-- | src/muc-manager.c | 17 |
2 files changed, 8 insertions, 20 deletions
diff --git a/src/muc-channel.c b/src/muc-channel.c index a408a056..c83ca1de 100644 --- a/src/muc-channel.c +++ b/src/muc-channel.c @@ -77,7 +77,6 @@ enum READY, JOIN_ERROR, NEW_TUBE, - APPEARED, LAST_SIGNAL }; @@ -716,15 +715,6 @@ salut_muc_channel_class_init (SalutMucChannelClass *salut_muc_channel_class) * wants a value type, not an interface. */ G_TYPE_NONE, 1, TP_TYPE_BASE_CHANNEL); - signals[APPEARED] = g_signal_new ( - "appeared", - G_OBJECT_CLASS_TYPE (salut_muc_channel_class), - G_SIGNAL_RUN_LAST, - 0, - NULL, NULL, - g_cclosure_marshal_VOID__VOID, - G_TYPE_NONE, 0); - tp_group_mixin_class_init (object_class, G_STRUCT_OFFSET(SalutMucChannelClass, group_class), salut_muc_channel_add_member, NULL); @@ -1276,7 +1266,6 @@ salut_muc_channel_received_stanza (GibberMucConnection *conn, { DEBUG ("making MUC channel reappear!"); tp_base_channel_reopened_with_requested (base_chan, FALSE, from_handle); - g_signal_emit (self, signals[APPEARED], 0); } /* let's not autoclose now */ diff --git a/src/muc-manager.c b/src/muc-manager.c index cf9c94b7..7dabb17a 100644 --- a/src/muc-manager.c +++ b/src/muc-manager.c @@ -418,6 +418,14 @@ muc_channel_closed_cb (SalutMucChannel *chan, TpBaseChannel *base = TP_BASE_CHANNEL (chan); TpHandle handle; + /* channel is actually reappearing, announce it */ + if (tp_base_channel_is_respawning (base)) + { + tp_channel_manager_emit_new_channel (self, + TP_EXPORTABLE_CHANNEL (chan), NULL); + return; + } + if (tp_base_channel_is_registered (base)) { tp_channel_manager_emit_channel_closed_for_object (self, @@ -454,14 +462,6 @@ muc_channel_tube_closed_cb (SalutTubeIface *tube, } static void -muc_channel_appeared_cb (SalutMucChannel *chan, - SalutMucManager *mgr) -{ - tp_channel_manager_emit_new_channel (mgr, - TP_EXPORTABLE_CHANNEL (chan), NULL); -} - -static void muc_channel_new_tube_cb (SalutMucChannel *channel, SalutTubeIface *tube, SalutMucManager *mgr) @@ -602,7 +602,6 @@ salut_muc_manager_new_muc_channel (SalutMucManager *mgr, g_signal_connect (chan, "closed", G_CALLBACK (muc_channel_closed_cb), mgr); g_signal_connect (chan, "new-tube", G_CALLBACK (muc_channel_new_tube_cb), mgr); - g_signal_connect (chan, "appeared", G_CALLBACK (muc_channel_appeared_cb), mgr); g_hash_table_insert (priv->text_channels, GUINT_TO_POINTER (handle), chan); |