summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2015-11-26 09:25:49 +0000
committerCarl Hetherington <cth@carlh.net>2015-11-26 09:25:49 +0000
commit91a3c1f1ea36e69a17d33a16bdd3087e7ed53455 (patch)
tree633f9cbebd64300a35881733a9708aa6054be325 /src
parenta8ca1e33be115bdf9ed0d8b01324f9db9d77ccf1 (diff)
Fix crash on cancelling the download certificate dialogue.
Diffstat (limited to 'src')
-rw-r--r--src/wx/download_certificate_dialog.cc12
-rw-r--r--src/wx/download_certificate_dialog.h3
2 files changed, 11 insertions, 4 deletions
diff --git a/src/wx/download_certificate_dialog.cc b/src/wx/download_certificate_dialog.cc
index 31f6a7b6a..8b51edc16 100644
--- a/src/wx/download_certificate_dialog.cc
+++ b/src/wx/download_certificate_dialog.cc
@@ -56,11 +56,17 @@ DownloadCertificateDialog::DownloadCertificateDialog (wxWindow* parent)
SetSizerAndFit (sizer);
- _notebook->Bind (wxEVT_NOTEBOOK_PAGE_CHANGED, boost::bind (&DownloadCertificateDialog::page_changed, this));
+ _notebook->Bind (wxEVT_NOTEBOOK_PAGE_CHANGED, &DownloadCertificateDialog::page_changed, this);
_download->Bind (wxEVT_COMMAND_BUTTON_CLICKED, boost::bind (&DownloadCertificateDialog::download, this));
_download->Enable (false);
- page_changed ();
+ wxNotebookEvent ev;
+ page_changed (ev);
+}
+
+DownloadCertificateDialog::~DownloadCertificateDialog ()
+{
+ _notebook->Unbind (wxEVT_NOTEBOOK_PAGE_CHANGED, &DownloadCertificateDialog::page_changed, this);
}
void
@@ -90,7 +96,7 @@ DownloadCertificateDialog::setup_sensitivity ()
}
void
-DownloadCertificateDialog::page_changed ()
+DownloadCertificateDialog::page_changed (wxNotebookEvent &)
{
int const n = _notebook->GetSelection();
if (!_setup[n]) {
diff --git a/src/wx/download_certificate_dialog.h b/src/wx/download_certificate_dialog.h
index 7d319dcfe..97d7d17ff 100644
--- a/src/wx/download_certificate_dialog.h
+++ b/src/wx/download_certificate_dialog.h
@@ -26,6 +26,7 @@ class DownloadCertificateDialog : public wxDialog
{
public:
DownloadCertificateDialog (wxWindow* parent);
+ ~DownloadCertificateDialog ();
dcp::Certificate certificate () const;
@@ -33,7 +34,7 @@ public:
private:
void download ();
- void page_changed ();
+ void page_changed (wxNotebookEvent &);
wxNotebook* _notebook;
std::vector<DownloadCertificatePanel*> _pages;