+2013-10-14 Carl Hetherington <cth@carlh.net>
+
+ * Fix some crashes in the KDM dialogue when coming
+ out of the add screen without giving a certificate.
+
2013-10-13 Carl Hetherington <cth@carlh.net>
* Version 1.14 released.
* Add some missing libraries to the OS X build.
2013-10-12 Carl Hetherington <cth@carlh.net>
-
+
* Version 1.13 released.
2013-10-12 Carl Hetherington <cth@carlh.net>
shared_ptr<Cinema> c = selected_cinemas().front().second;
ScreenDialog* d = new ScreenDialog (this, "Add Screen");
- d->ShowModal ();
+ if (d->ShowModal () != wxID_OK) {
+ return;
+ }
shared_ptr<Screen> s (new Screen (d->name(), d->certificate()));
c->add_screen (s);
overall_sizer->Layout ();
overall_sizer->SetSizeHints (this);
- _certificate_load->Connect (wxID_ANY, wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler (ScreenDialog::load_certificate), 0, this);
+ _certificate_load->Bind (wxEVT_COMMAND_BUTTON_CLICKED, boost::bind (&ScreenDialog::load_certificate, this));
+
+ setup_sensitivity ();
}
string
}
void
-ScreenDialog::load_certificate (wxCommandEvent &)
+ScreenDialog::load_certificate ()
{
wxFileDialog* d = new wxFileDialog (this, _("Select Certificate File"));
}
d->Destroy ();
+
+ setup_sensitivity ();
+}
+
+void
+ScreenDialog::setup_sensitivity ()
+{
+ wxButton* ok = dynamic_cast<wxButton*> (FindWindowById (wxID_OK, this));
+ ok->Enable (_certificate);
}
boost::shared_ptr<libdcp::Certificate> certificate () const;
private:
- void load_certificate (wxCommandEvent &);
+ void load_certificate ();
+ void setup_sensitivity ();
wxTextCtrl* _name;
wxButton* _certificate_load;