summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2023-03-03 01:00:53 +0100
committerCarl Hetherington <cth@carlh.net>2023-03-03 01:00:53 +0100
commit45bc91b9a909035252ee10afe4fed2eef996e4ed (patch)
treea77c31afdb97926f7b75fbb601b2f39981fd8441
parent1945455899f23b84a71f4312c8c4080c7c0bcf0e (diff)
Un-check screens when they or their cinema are deleted.
-rw-r--r--src/wx/screens_panel.cc6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/wx/screens_panel.cc b/src/wx/screens_panel.cc
index 6c5b28b8d..9d322e45e 100644
--- a/src/wx/screens_panel.cc
+++ b/src/wx/screens_panel.cc
@@ -333,6 +333,9 @@ ScreensPanel::remove_cinema_clicked ()
for (auto const& cinema: _selected_cinemas) {
_ignore_cinemas_changed = true;
ScopeGuard sg = [this]() { _ignore_cinemas_changed = false; };
+ for (auto screen: cinema->screens()) {
+ _checked_screens.erase(screen);
+ }
Config::instance()->remove_cinema(cinema);
auto item = cinema_to_item(cinema);
DCPOMATIC_ASSERT(item);
@@ -446,7 +449,8 @@ ScreensPanel::remove_screen_clicked ()
}
}
- for (auto const& screen: _selected_screens) {
+ for (auto screen: _selected_screens) {
+ _checked_screens.erase(screen);
screen->cinema->remove_screen(screen);
auto item = screen_to_item(screen);
DCPOMATIC_ASSERT(item);