Commit fabcd2ec authored by Guillaume Desmottes's avatar Guillaume Desmottes

re-implement empathy_dispatcher_chat_with_contact using empathy_dispatcher_chat_with_contact_id

We don't use the callback arg anyway.
parent 17624f70
...@@ -892,7 +892,7 @@ contact_list_view_row_activated (GtkTreeView *view, ...@@ -892,7 +892,7 @@ contact_list_view_row_activated (GtkTreeView *view,
if (contact) { if (contact) {
DEBUG ("Starting a chat"); DEBUG ("Starting a chat");
empathy_dispatcher_chat_with_contact (contact, empathy_dispatcher_chat_with_contact (contact,
gtk_get_current_event_time (), NULL, NULL); gtk_get_current_event_time ());
g_object_unref (contact); g_object_unref (contact);
} }
} }
......
...@@ -216,8 +216,7 @@ static void ...@@ -216,8 +216,7 @@ static void
empathy_contact_chat_menu_item_activated (GtkMenuItem *item, empathy_contact_chat_menu_item_activated (GtkMenuItem *item,
EmpathyContact *contact) EmpathyContact *contact)
{ {
empathy_dispatcher_chat_with_contact (contact, gtk_get_current_event_time (), empathy_dispatcher_chat_with_contact (contact, gtk_get_current_event_time ());
NULL, NULL);
} }
GtkWidget * GtkWidget *
......
...@@ -245,8 +245,7 @@ empathy_individual_chat_menu_item_activated (GtkMenuItem *item, ...@@ -245,8 +245,7 @@ empathy_individual_chat_menu_item_activated (GtkMenuItem *item,
g_return_if_fail (contact != NULL); g_return_if_fail (contact != NULL);
empathy_dispatcher_chat_with_contact (contact, gtk_get_current_event_time (), empathy_dispatcher_chat_with_contact (contact, gtk_get_current_event_time ());
NULL, NULL);
g_object_unref (contact); g_object_unref (contact);
} }
......
...@@ -925,7 +925,7 @@ individual_view_row_activated (GtkTreeView *view, ...@@ -925,7 +925,7 @@ individual_view_row_activated (GtkTreeView *view,
DEBUG ("Starting a chat"); DEBUG ("Starting a chat");
empathy_dispatcher_chat_with_contact (contact, empathy_dispatcher_chat_with_contact (contact,
gtk_get_current_event_time (), NULL, NULL); gtk_get_current_event_time ());
} }
g_object_unref (individual); g_object_unref (individual);
......
...@@ -1225,49 +1225,11 @@ dispatcher_request_channel (DispatcherRequestData *request_data) ...@@ -1225,49 +1225,11 @@ dispatcher_request_channel (DispatcherRequestData *request_data)
void void
empathy_dispatcher_chat_with_contact (EmpathyContact *contact, empathy_dispatcher_chat_with_contact (EmpathyContact *contact,
gint64 timestamp, gint64 timestamp)
EmpathyDispatcherRequestCb *callback,
gpointer user_data)
{ {
EmpathyDispatcher *self; empathy_dispatcher_chat_with_contact_id (
EmpathyDispatcherPriv *priv; empathy_contact_get_account (contact), empathy_contact_get_id (contact),
TpConnection *connection; timestamp);
ConnectionData *connection_data;
DispatcherRequestData *request_data;
g_return_if_fail (EMPATHY_IS_CONTACT (contact));
self = empathy_dispatcher_dup_singleton ();
priv = GET_PRIV (self);
connection = empathy_contact_get_connection (contact);
connection_data = g_hash_table_lookup (priv->connections, connection);
if (connection_data == NULL)
{
/* Connection has been invalidated */
if (callback != NULL)
{
GError error = { TP_DBUS_ERRORS, TP_DBUS_ERROR_PROXY_UNREFERENCED,
"Connection has been invalidated" };
callback (NULL, &error, user_data);
}
goto out;
}
/* 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, timestamp, contact,
callback, user_data);
request_data->should_ensure = TRUE;
connection_data->outstanding_requests = g_list_prepend
(connection_data->outstanding_requests, request_data);
dispatcher_request_channel (request_data);
out:
g_object_unref (self);
} }
static void static void
......
...@@ -80,9 +80,7 @@ void empathy_dispatcher_chat_with_contact_id (TpAccount *account, ...@@ -80,9 +80,7 @@ void empathy_dispatcher_chat_with_contact_id (TpAccount *account,
gint64 timestamp); gint64 timestamp);
void empathy_dispatcher_chat_with_contact (EmpathyContact *contact, void empathy_dispatcher_chat_with_contact (EmpathyContact *contact,
gint64 timestamp, gint64 timestamp);
EmpathyDispatcherRequestCb *callback,
gpointer user_data);
/* Request a muc channel */ /* Request a muc channel */
void empathy_dispatcher_join_muc (TpConnection *connection, void empathy_dispatcher_join_muc (TpConnection *connection,
......
...@@ -11,25 +11,6 @@ ...@@ -11,25 +11,6 @@
static GtkWidget *window = NULL; static GtkWidget *window = NULL;
static void
chat_cb (EmpathyDispatchOperation *dispatch,
const GError *error,
gpointer user_data)
{
GtkWidget *dialog;
if (error != NULL)
{
dialog = gtk_message_dialog_new (GTK_WINDOW (window), GTK_DIALOG_MODAL,
GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE, "%s",
error->message ? error->message : "No error message");
gtk_dialog_run (GTK_DIALOG (dialog));
}
gtk_widget_destroy (window);
}
static void static void
clicked_cb (GtkButton *button, clicked_cb (GtkButton *button,
gpointer data) gpointer data)
...@@ -42,8 +23,7 @@ clicked_cb (GtkButton *button, ...@@ -42,8 +23,7 @@ clicked_cb (GtkButton *button,
if (!contact) if (!contact)
return; return;
empathy_dispatcher_chat_with_contact (contact, gtk_get_current_event_time (), empathy_dispatcher_chat_with_contact (contact, gtk_get_current_event_time ());
chat_cb, NULL);
g_object_unref (contact); g_object_unref (contact);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment