diff options
| author | Carl Hetherington <cth@carlh.net> | 2023-01-21 01:07:01 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2023-01-21 01:07:01 +0100 |
| commit | a9017504a0e3c152aba6ea8ac2dfa89183a362cb (patch) | |
| tree | 93ea61a26ad888d691366dd3a04717c015ce9ec4 /src | |
| parent | a399d7c7b9239e055ba08a82b18eb68a511d1025 (diff) | |
Fix error when OK-ing a text track dialog with no language (#2430).
Diffstat (limited to 'src')
| -rw-r--r-- | src/wx/dcp_text_track_dialog.cc | 13 | ||||
| -rw-r--r-- | src/wx/dcp_text_track_dialog.h | 2 |
2 files changed, 15 insertions, 0 deletions
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<wxButton *>(FindWindowById(wxID_OK, this))) { + ok->Enable(static_cast<bool>(_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; }; |
