From 328668a8b63fb407fd4e2fef1e253e992ab987ac Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Mon, 15 Dec 2014 11:04:45 +0000 Subject: [PATCH] Hand-apply 9e173bdda26f32a1da7afc38d5dcf8ed63e7d3cf; fix a few missing checks on the return value of ShowModal (#449). --- TO_PORT | 1 - src/wx/audio_panel.cc | 4 ++-- src/wx/kdm_dialog.cc | 45 ++++++++++++++++++++++--------------------- 3 files changed, 25 insertions(+), 25 deletions(-) diff --git a/TO_PORT b/TO_PORT index 7ed270756..ed0afee5b 100644 --- a/TO_PORT +++ b/TO_PORT @@ -1,4 +1,3 @@ -df4337db7d2f94f430caaf1b89f41dfae777799b 46db828eab42862bf950b4690d9ad191faf9393e 6921fc71f40fcebe76dad45ffc6204f2e3313e17 f9e5452c8e07e7c6eed91141532db7c341414d07 diff --git a/src/wx/audio_panel.cc b/src/wx/audio_panel.cc index a2de484c0..f1d832d86 100644 --- a/src/wx/audio_panel.cc +++ b/src/wx/audio_panel.cc @@ -178,9 +178,9 @@ void AudioPanel::gain_calculate_button_clicked () { GainCalculatorDialog* d = new GainCalculatorDialog (this); - d->ShowModal (); + int const r = d->ShowModal (); - if (d->wanted_fader() == 0 || d->actual_fader() == 0) { + if (r == wxID_CANCEL || d->wanted_fader() == 0 || d->actual_fader() == 0) { d->Destroy (); return; } diff --git a/src/wx/kdm_dialog.cc b/src/wx/kdm_dialog.cc index 4334fd446..6a1f8051f 100644 --- a/src/wx/kdm_dialog.cc +++ b/src/wx/kdm_dialog.cc @@ -309,11 +309,11 @@ void KDMDialog::add_cinema_clicked () { CinemaDialog* d = new CinemaDialog (this, "Add Cinema"); - d->ShowModal (); - - shared_ptr c (new Cinema (d->name(), d->email())); - Config::instance()->add_cinema (c); - add_cinema (c); + if (d->ShowModal () == wxID_OK) { + shared_ptr c (new Cinema (d->name(), d->email())); + Config::instance()->add_cinema (c); + add_cinema (c); + } d->Destroy (); } @@ -328,13 +328,12 @@ KDMDialog::edit_cinema_clicked () pair > c = selected_cinemas().front(); CinemaDialog* d = new CinemaDialog (this, "Edit cinema", c.second->name, c.second->email); - d->ShowModal (); - - c.second->name = d->name (); - c.second->email = d->email (); - _targets->SetItemText (c.first, std_to_wx (d->name())); - - Config::instance()->changed (); + if (d->ShowModal () == wxID_OK) { + c.second->name = d->name (); + c.second->email = d->email (); + _targets->SetItemText (c.first, std_to_wx (d->name())); + Config::instance()->changed (); + } d->Destroy (); } @@ -385,13 +384,12 @@ KDMDialog::edit_screen_clicked () pair > s = selected_screens().front(); ScreenDialog* d = new ScreenDialog (this, "Edit screen", s.second->name, s.second->certificate); - d->ShowModal (); - - s.second->name = d->name (); - s.second->certificate = d->certificate (); - _targets->SetItemText (s.first, std_to_wx (d->name())); - - Config::instance()->changed (); + if (d->ShowModal () == wxID_OK) { + s.second->name = d->name (); + s.second->certificate = d->certificate (); + _targets->SetItemText (s.first, std_to_wx (d->name())); + Config::instance()->changed (); + } d->Destroy (); } @@ -528,14 +526,17 @@ KDMDialog::update_cpl_summary () void KDMDialog::cpl_browse_clicked () { - wxFileDialog d (this, _("Select CPL XML file"), wxEmptyString, wxEmptyString, "*.xml"); - if (d.ShowModal() == wxID_CANCEL) { + wxFileDialog* d = new wxFileDialog (this, _("Select CPL XML file"), wxEmptyString, wxEmptyString, "*.xml"); + if (d->ShowModal() == wxID_CANCEL) { + d->Destroy (); return; } - boost::filesystem::path cpl_file (wx_to_std (d.GetPath ())); + boost::filesystem::path cpl_file (wx_to_std (d->GetPath ())); boost::filesystem::path dcp_dir = cpl_file.parent_path (); + d->Destroy (); + /* XXX: hack alert */ cxml::Document cpl_document ("CompositionPlaylist"); cpl_document.read_file (cpl_file); -- 2.30.2