diff options
-rw-r--r-- | libempathy-gtk/empathy-chat.c | 3 | ||||
-rw-r--r-- | libempathy-gtk/empathy-contact-list-view.c | 3 | ||||
-rw-r--r-- | libempathy-gtk/empathy-contact-menu.c | 3 | ||||
-rw-r--r-- | libempathy-gtk/empathy-new-message-dialog.c | 3 | ||||
-rw-r--r-- | libempathy/empathy-dispatcher.c | 11 | ||||
-rw-r--r-- | libempathy/empathy-dispatcher.h | 8 | ||||
-rw-r--r-- | src/empathy-chat-manager.c | 2 | ||||
-rw-r--r-- | src/empathy-chat-window.c | 2 | ||||
-rw-r--r-- | tests/interactive/empetit.c | 3 |
9 files changed, 25 insertions, 13 deletions
diff --git a/libempathy-gtk/empathy-chat.c b/libempathy-gtk/empathy-chat.c index b06329a67..06ee4bbe7 100644 --- a/libempathy-gtk/empathy-chat.c +++ b/libempathy-gtk/empathy-chat.c @@ -262,7 +262,7 @@ reconnected_connection_ready_cb (TpConnection *connection, switch (priv->handle_type) { case TP_HANDLE_TYPE_CONTACT: empathy_dispatcher_chat_with_contact_id ( - connection, priv->id, + connection, priv->id, EMPATHY_DISPATCHER_NON_USER_ACTION, chat_connect_channel_reconnected, chat); break; @@ -767,6 +767,7 @@ chat_command_msg_internal (EmpathyChat *chat, data->message = g_strdup (message); connection = empathy_tp_chat_get_connection (priv->tp_chat); empathy_dispatcher_chat_with_contact_id (connection, contact_id, + gtk_get_current_event_time (), chat_command_msg_cb, data); } diff --git a/libempathy-gtk/empathy-contact-list-view.c b/libempathy-gtk/empathy-contact-list-view.c index 15df212ce..ae84e3e15 100644 --- a/libempathy-gtk/empathy-contact-list-view.c +++ b/libempathy-gtk/empathy-contact-list-view.c @@ -804,7 +804,8 @@ contact_list_view_row_activated (GtkTreeView *view, if (contact) { DEBUG ("Starting a chat"); - empathy_dispatcher_chat_with_contact (contact, NULL, NULL); + empathy_dispatcher_chat_with_contact (contact, + gtk_get_current_event_time (), NULL, NULL); g_object_unref (contact); } } diff --git a/libempathy-gtk/empathy-contact-menu.c b/libempathy-gtk/empathy-contact-menu.c index fbcd8dc8a..e160f5e20 100644 --- a/libempathy-gtk/empathy-contact-menu.c +++ b/libempathy-gtk/empathy-contact-menu.c @@ -222,7 +222,8 @@ static void empathy_contact_chat_menu_item_activated (GtkMenuItem *item, EmpathyContact *contact) { - empathy_dispatcher_chat_with_contact (contact, NULL, NULL); + empathy_dispatcher_chat_with_contact (contact, gtk_get_current_event_time (), + NULL, NULL); } GtkWidget * diff --git a/libempathy-gtk/empathy-new-message-dialog.c b/libempathy-gtk/empathy-new-message-dialog.c index 338da2760..509438575 100644 --- a/libempathy-gtk/empathy-new-message-dialog.c +++ b/libempathy-gtk/empathy-new-message-dialog.c @@ -70,7 +70,8 @@ empathy_new_message_dialog_response (GtkDialog *dialog, int response_id) if (EMP_STR_EMPTY (contact_id) || connection == NULL) goto out; - empathy_dispatcher_chat_with_contact_id (connection, contact_id, NULL, NULL); + empathy_dispatcher_chat_with_contact_id (connection, contact_id, + gtk_get_current_event_time (), NULL, NULL); out: gtk_widget_destroy (GTK_WIDGET (dialog)); diff --git a/libempathy/empathy-dispatcher.c b/libempathy/empathy-dispatcher.c index 046f6a981..40ee5dd88 100644 --- a/libempathy/empathy-dispatcher.c +++ b/libempathy/empathy-dispatcher.c @@ -1301,6 +1301,7 @@ dispatcher_request_channel (DispatcherRequestData *request_data) void empathy_dispatcher_chat_with_contact (EmpathyContact *contact, + gint64 timestamp, EmpathyDispatcherRequestCb *callback, gpointer user_data) { @@ -1332,8 +1333,7 @@ empathy_dispatcher_chat_with_contact (EmpathyContact *contact, /* The contact handle might not be known yet */ request_data = new_dispatcher_request_data (self, connection, TP_IFACE_CHANNEL_TYPE_TEXT, TP_HANDLE_TYPE_CONTACT, - empathy_contact_get_handle (contact), NULL, - EMPATHY_DISPATCHER_NON_USER_ACTION, contact, + empathy_contact_get_handle (contact), NULL, timestamp, contact, callback, user_data); request_data->should_ensure = TRUE; @@ -1351,6 +1351,7 @@ typedef struct EmpathyDispatcher *dispatcher; EmpathyDispatcherRequestCb *callback; gpointer user_data; + gint64 timestamp; } ChatWithContactIdData; static void @@ -1373,8 +1374,8 @@ dispatcher_chat_with_contact_id_cb (EmpathyTpContactFactory *factory, } else { - empathy_dispatcher_chat_with_contact (contact, data->callback, - data->user_data); + empathy_dispatcher_chat_with_contact (contact, data->timestamp, + data->callback, data->user_data); } g_object_unref (data->dispatcher); @@ -1384,6 +1385,7 @@ dispatcher_chat_with_contact_id_cb (EmpathyTpContactFactory *factory, void empathy_dispatcher_chat_with_contact_id (TpConnection *connection, const gchar *contact_id, + gint64 timestamp, EmpathyDispatcherRequestCb *callback, gpointer user_data) { @@ -1400,6 +1402,7 @@ empathy_dispatcher_chat_with_contact_id (TpConnection *connection, data->dispatcher = self; data->callback = callback; data->user_data = user_data; + data->timestamp = timestamp; empathy_tp_contact_factory_get_from_id (factory, contact_id, dispatcher_chat_with_contact_id_cb, data, NULL, NULL); diff --git a/libempathy/empathy-dispatcher.h b/libempathy/empathy-dispatcher.h index 97ac49bea..b3e9e1dda 100644 --- a/libempathy/empathy-dispatcher.h +++ b/libempathy/empathy-dispatcher.h @@ -72,10 +72,14 @@ void empathy_dispatcher_create_channel (EmpathyDispatcher *dispatcher, /* Requesting 1 to 1 text channels */ void empathy_dispatcher_chat_with_contact_id (TpConnection *connection, - const gchar *contact_id, EmpathyDispatcherRequestCb *callback, + const gchar *contact_id, + gint64 timestamp, + EmpathyDispatcherRequestCb *callback, gpointer user_data); void empathy_dispatcher_chat_with_contact (EmpathyContact *contact, - EmpathyDispatcherRequestCb *callback, gpointer user_data); + gint64 timestamp, + EmpathyDispatcherRequestCb *callback, + gpointer user_data); /* Request a file channel to a specific contact */ void empathy_dispatcher_send_file_to_contact (EmpathyContact *contact, diff --git a/src/empathy-chat-manager.c b/src/empathy-chat-manager.c index 01506f52e..35b23244c 100644 --- a/src/empathy-chat-manager.c +++ b/src/empathy-chat-manager.c @@ -202,7 +202,7 @@ connection_ready_cb (TpConnection *connection, empathy_dispatcher_join_muc (connection, data->id, NULL, NULL); else empathy_dispatcher_chat_with_contact_id (connection, data->id, - NULL, NULL); + EMPATHY_DISPATCHER_NON_USER_ACTION, NULL, NULL); g_signal_emit (self, signals[CHATS_CHANGED], 0, g_queue_get_length (priv->queue)); diff --git a/src/empathy-chat-window.c b/src/empathy-chat-window.c index 6e80bb458..847c7f834 100644 --- a/src/empathy-chat-window.c +++ b/src/empathy-chat-window.c @@ -1682,7 +1682,7 @@ chat_window_drag_data_received (GtkWidget *widget, if (connection) { empathy_dispatcher_chat_with_contact_id ( - connection, contact_id, NULL, NULL); + connection, contact_id, gtk_get_current_event_time (), NULL, NULL); } g_strfreev (strv); diff --git a/tests/interactive/empetit.c b/tests/interactive/empetit.c index e2eb61f66..7bcaf03ee 100644 --- a/tests/interactive/empetit.c +++ b/tests/interactive/empetit.c @@ -42,7 +42,8 @@ clicked_cb (GtkButton *button, if (!contact) return; - empathy_dispatcher_chat_with_contact (contact, chat_cb, NULL); + empathy_dispatcher_chat_with_contact (contact, gtk_get_current_event_time (), + chat_cb, NULL); g_object_unref (contact); } |