summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2023-10-18 01:03:55 +0200
committerCarl Hetherington <cth@carlh.net>2023-10-18 01:03:55 +0200
commitb46a2eb2ea4311ae5bdd13a2b0f209b493f81b12 (patch)
tree6cd8992582e538acb6069a36d9f07c6256108398
parent0a43629951e517d95ec791a361e7c7fa9c56d6cb (diff)
Fix crash when removing multiple cinemas caused by _selected_cinemas being changed as we read it (#2632).
-rw-r--r--src/wx/screens_panel.cc4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/wx/screens_panel.cc b/src/wx/screens_panel.cc
index 9d322e45e..99f0d8ef0 100644
--- a/src/wx/screens_panel.cc
+++ b/src/wx/screens_panel.cc
@@ -330,7 +330,9 @@ ScreensPanel::remove_cinema_clicked ()
}
}
- for (auto const& cinema: _selected_cinemas) {
+ auto cinemas_to_remove = _selected_cinemas;
+
+ for (auto const& cinema: cinemas_to_remove) {
_ignore_cinemas_changed = true;
ScopeGuard sg = [this]() { _ignore_cinemas_changed = false; };
for (auto screen: cinema->screens()) {