# HG changeset patch # User maiku@pidgin.im # Date 1251352737 0 # Node ID 268b821de5c57450649efafca63bb981105091f7 # Parent 18e361e0a3ece86c9cf93d8b16486f7c6e624d0c# Parent 7a66b8d66456dc0ea4450bb84759d79bb4ce6274 merge of '18135201f43ac87c932feae03881d46e30d93030' and '5e877772051b0cfb57b3eda07a70bb59562d0111' diff -r 18e361e0a3ec -r 268b821de5c5 pidgin/gtkmedia.c --- a/pidgin/gtkmedia.c Wed Aug 26 05:56:20 2009 +0000 +++ b/pidgin/gtkmedia.c Thu Aug 27 05:58:57 2009 +0000 @@ -499,13 +499,14 @@ } gtkmedia->priv->request_type = PURPLE_MEDIA_NONE; - - purple_request_accept_cancel(gtkmedia, _("Incoming Call"), - message, NULL, PURPLE_DEFAULT_ACTION_NONE, - (void*)account, gtkmedia->priv->screenname, NULL, - gtkmedia->priv->media, - pidgin_media_accept_cb, - pidgin_media_reject_cb); + if (!purple_media_accepted(gtkmedia->priv->media, NULL, NULL)) { + purple_request_accept_cancel(gtkmedia, _("Incoming Call"), + message, NULL, PURPLE_DEFAULT_ACTION_NONE, + (void*)account, gtkmedia->priv->screenname, + NULL, gtkmedia->priv->media, + pidgin_media_accept_cb, + pidgin_media_reject_cb); + } pidgin_media_emit_message(gtkmedia, message); g_free(message); return FALSE; @@ -772,6 +773,8 @@ pidgin_media_emit_message(gtkmedia, _("You have rejected the call.")); } else if (type == PURPLE_MEDIA_INFO_ACCEPT) { + if (local == TRUE) + purple_request_close_with_handle(gtkmedia); pidgin_media_set_state(gtkmedia, PIDGIN_MEDIA_ACCEPTED); pidgin_media_emit_message(gtkmedia, _("Call in progress.")); gtk_statusbar_push(GTK_STATUSBAR(gtkmedia->priv->statusbar),