EmpathyDispatchOperation *operation;
gulong approved_handler;
gulong claimed_handler;
+ gulong invalidated_handler;
/* Remove contact if applicable */
EmpathyContact *contact;
/* Tube dispatcher if applicable */
approval->approved_handler);
g_signal_handler_disconnect (approval->operation,
approval->claimed_handler);
+ g_signal_handler_disconnect (approval->operation,
+ approval->invalidated_handler);
g_object_unref (approval->operation);
if (approval->contact != NULL)
event_manager_approval_done (approval);
}
+static void
+event_manager_operation_invalidated_cb (EmpathyDispatchOperation *operation,
+ guint domain, gint code, gchar *message,
+ EventManagerApproval *approval)
+{
+ event_manager_approval_done (approval);
+}
+
static void
event_manager_media_channel_got_name_cb (EmpathyContact *contact,
const GError *error, gpointer user_data, GObject *object)
approval->claimed_handler = g_signal_connect (operation, "claimed",
G_CALLBACK (event_manager_operation_claimed_cb), approval);
+ approval->invalidated_handler = g_signal_connect (operation, "invalidated",
+ G_CALLBACK (event_manager_operation_invalidated_cb), approval);
+
if (!tp_strdiff (channel_type, TP_IFACE_CHANNEL_TYPE_TEXT))
{
EmpathyTpChat *tp_chat =