diff options
Diffstat (limited to 'plugins/shotwell-publishing/PiwigoPublishing.vala')
-rw-r--r-- | plugins/shotwell-publishing/PiwigoPublishing.vala | 48 |
1 files changed, 26 insertions, 22 deletions
diff --git a/plugins/shotwell-publishing/PiwigoPublishing.vala b/plugins/shotwell-publishing/PiwigoPublishing.vala index 649f135..f177789 100644 --- a/plugins/shotwell-publishing/PiwigoPublishing.vala +++ b/plugins/shotwell-publishing/PiwigoPublishing.vala @@ -1010,7 +1010,7 @@ internal class SSLErrorPane : Shotwell.Plugins.Common.BuilderPane { public signal void proceed (); public string host { owned get; construct; } - public TlsCertificate cert { private get; construct; } + public TlsCertificate? cert { private get; construct; } public string error_text { owned get; construct; } public SSLErrorPane (SessionLoginTransaction transaction, @@ -1037,28 +1037,32 @@ internal class SSLErrorPane : Shotwell.Plugins.Common.BuilderPane { label.set_text (error_text); var info = this.get_builder ().get_object ("default") as Gtk.Button; - info.clicked.connect (() => { - var simple_cert = new Gcr.SimpleCertificate (cert.certificate.data); - var widget = new Gcr.CertificateWidget (simple_cert); - bool use_header = true; - Gtk.Settings.get_default ().get ("gtk-dialogs-use-header", out use_header); - var flags = (Gtk.DialogFlags) 0; - if (use_header) { - flags |= Gtk.DialogFlags.USE_HEADER_BAR; - } + if (cert != null) { + info.clicked.connect (() => { + var simple_cert = new Gcr.SimpleCertificate (cert.certificate.data); + var widget = new Gcr.CertificateWidget (simple_cert); + bool use_header = true; + Gtk.Settings.get_default ().get ("gtk-dialogs-use-header", out use_header); + var flags = (Gtk.DialogFlags) 0; + if (use_header) { + flags |= Gtk.DialogFlags.USE_HEADER_BAR; + } - var dialog = new Gtk.Dialog.with_buttons ( - _("Certificate of %s").printf (host), - null, - flags, - _("_OK"), Gtk.ResponseType.OK); - dialog.get_content_area ().add (widget); - dialog.set_default_response (Gtk.ResponseType.OK); - dialog.set_default_size (640, -1); - dialog.show_all (); - dialog.run (); - dialog.destroy (); - }); + var dialog = new Gtk.Dialog.with_buttons ( + _("Certificate of %s").printf (host), + null, + flags, + _("_OK"), Gtk.ResponseType.OK); + dialog.get_content_area ().add (widget); + dialog.set_default_response (Gtk.ResponseType.OK); + dialog.set_default_size (640, -1); + dialog.show_all (); + dialog.run (); + dialog.destroy (); + }); + } else { + info.get_parent().remove(info); + } var proceed = this.get_builder ().get_object ("proceed_button") as Gtk.Button; proceed.clicked.connect (() => { this.proceed (); }); |