# HG changeset patch # User Elliott Sales de Andrade # Date 1330234380 0 # Node ID 192691546590add5682596a177fd8691a4ac054e # Parent c7dfb2a132064ceae747c7fd7dd2591dbf8d0155 Use the new certificate request API in the certificate manager. I think I also fixed a few leaks from my previous changes. diff -r c7dfb2a13206 -r 192691546590 pidgin/gtkcertmgr.c --- a/pidgin/gtkcertmgr.c Sun Feb 26 05:23:21 2012 +0000 +++ b/pidgin/gtkcertmgr.c Sun Feb 26 05:33:00 2012 +0000 @@ -40,12 +40,6 @@ #include "gtkcertmgr.h" -#ifdef ENABLE_GCR -#define GCR_API_SUBJECT_TO_CHANGE -#include -#include -#endif - /***************************************************************************** * X.509 tls_peers management interface * *****************************************************************************/ @@ -316,13 +310,7 @@ GtkTreeModel *model; gchar *id; PurpleCertificate *crt; -#ifdef ENABLE_GCR - GByteArray *der; - GcrCertificate *gcrt; char *title; - GtkWidget *dialog; - GcrCertificateBasicsWidget *cert_widget; -#endif /* See if things are selected */ if (!gtk_tree_selection_get_selected(select, &model, &iter)) { @@ -338,38 +326,15 @@ crt = purple_certificate_pool_retrieve(tpm_dat->tls_peers, id); g_return_if_fail(crt); -#ifdef ENABLE_GCR - der = purple_certificate_get_der_data(crt); - g_return_if_fail(der); - - gcrt = gcr_simple_certificate_new(der->data, der->len); - g_return_if_fail(gcrt); - /* Fire the notification */ title = g_strdup_printf(_("Certificate Information for %s"), id); - dialog = gtk_dialog_new_with_buttons(title, - NULL, - 0, - GTK_STOCK_OK, - GTK_RESPONSE_ACCEPT, - NULL); - cert_widget = gcr_certificate_basics_widget_new(gcrt); - gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), - GTK_WIDGET(cert_widget), TRUE, TRUE, 0); - g_signal_connect_swapped(dialog, "response", - G_CALLBACK(gtk_widget_destroy), - dialog); - gtk_widget_show_all(dialog); - - g_byte_array_free(der, TRUE); - g_object_unref(G_OBJECT(gcrt)); -#else - /* Fire the notification */ - purple_certificate_display_x509(crt); + purple_request_certificate(tpm_dat, title, NULL, NULL, crt, + _("OK"), G_CALLBACK(purple_certificate_destroy), + _("Cancel"), G_CALLBACK(purple_certificate_destroy), + crt); g_free(id); - purple_certificate_destroy(crt); -#endif + g_free(title); } static void