summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonny Lamb <jonny.lamb@collabora.co.uk>2012-08-02 16:07:48 +0100
committerJonny Lamb <jonny.lamb@collabora.co.uk>2012-08-02 16:07:48 +0100
commitf459366bff38f43d957d7f67b55aaef640f2e4b8 (patch)
treec624f08bb796665bbc0519e447eac94f44c752e1
parentd884ea9c98163796436a3dbd4bbb5c19279b3b95 (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.c11
-rw-r--r--src/muc-manager.c17
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);