From: Carl Hetherington Date: Sat, 21 Jan 2023 00:07:01 +0000 (+0100) Subject: Fix error when OK-ing a text track dialog with no language (#2430). X-Git-Tag: v2.16.41~4 X-Git-Url: https://git.carlh.net/gitweb/?p=dcpomatic.git;a=commitdiff_plain;h=a9017504a0e3c152aba6ea8ac2dfa89183a362cb Fix error when OK-ing a text track dialog with no language (#2430). --- diff --git a/src/wx/dcp_text_track_dialog.cc b/src/wx/dcp_text_track_dialog.cc index be31de0ce..d033541d2 100644 --- a/src/wx/dcp_text_track_dialog.cc +++ b/src/wx/dcp_text_track_dialog.cc @@ -36,6 +36,9 @@ DCPTextTrackDialog::DCPTextTrackDialog (wxWindow* parent) _language = new LanguageTagWidget (this, wxT(""), boost::none); add (_language->sizer()); + _language->Changed.connect(boost::bind(&DCPTextTrackDialog::set_sensitivity, this)); + + set_sensitivity(); layout (); } @@ -46,3 +49,13 @@ DCPTextTrackDialog::get () const DCPOMATIC_ASSERT (_language->get()); return DCPTextTrack(wx_to_std(_name->GetValue()), _language->get()); } + + +void +DCPTextTrackDialog::set_sensitivity() +{ + if (auto ok = dynamic_cast(FindWindowById(wxID_OK, this))) { + ok->Enable(static_cast(_language->get())); + } +} + diff --git a/src/wx/dcp_text_track_dialog.h b/src/wx/dcp_text_track_dialog.h index 41a91b0d0..c1d7eec56 100644 --- a/src/wx/dcp_text_track_dialog.h +++ b/src/wx/dcp_text_track_dialog.h @@ -39,6 +39,8 @@ public: DCPTextTrack get () const; private: + void set_sensitivity(); + wxTextCtrl* _name; LanguageTagWidget* _language; };