return priv->incoming;
}
+void
+empathy_dispatch_operation_set_user_action_time (
+ EmpathyDispatchOperation *self,
+ gint64 user_action_time)
+{
+ EmpathyDispatchOperationPriv *priv = GET_PRIV (self);
+
+ priv->user_action_time = user_action_time;
+}
+
gint64
empathy_dispatch_operation_get_user_action_time (EmpathyDispatchOperation *self)
{
gboolean empathy_dispatch_operation_is_incoming (
EmpathyDispatchOperation *operation);
+void empathy_dispatch_operation_set_user_action_time (
+ EmpathyDispatchOperation *self,
+ gint64 user_action_time);
+
gint64 empathy_dispatch_operation_get_user_action_time (
EmpathyDispatchOperation *self);
static void
event_channel_process_func (EventPriv *event)
{
+ gint64 timestamp = gtk_get_current_event_time ();
+ if (timestamp == GDK_CURRENT_TIME)
+ timestamp = G_MAXINT64;
+
+ empathy_dispatch_operation_set_user_action_time (event->approval->operation,
+ timestamp);
empathy_dispatch_operation_approve (event->approval->operation);
}
event_text_channel_process_func (EventPriv *event)
{
EmpathyTpChat *tp_chat;
+ gint64 timestamp = gtk_get_current_event_time ();
+ if (timestamp == GDK_CURRENT_TIME)
+ timestamp = G_MAXINT64;
+
+ empathy_dispatch_operation_set_user_action_time (event->approval->operation,
+ timestamp);
if (event->approval->handler != 0)
{
TpChannel *channel;
TpHandle self_handle;
GArray *members;
+ gint64 timestamp;
gtk_widget_destroy (GTK_WIDGET (approval->dialog));
approval->dialog = NULL;
tp_cli_channel_interface_group_call_add_members (channel, -1, members,
"", NULL, NULL, NULL, NULL);
+ timestamp = gtk_get_current_event_time ();
+ if (timestamp == GDK_CURRENT_TIME)
+ timestamp = G_MAXINT64;
+
+ empathy_dispatch_operation_set_user_action_time (approval->operation,
+ timestamp);
empathy_dispatch_operation_approve (approval->operation);
g_array_free (members, TRUE);