diff options
| author | Carl Hetherington <cth@carlh.net> | 2023-10-18 01:03:55 +0200 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2023-10-18 01:03:55 +0200 |
| commit | b46a2eb2ea4311ae5bdd13a2b0f209b493f81b12 (patch) | |
| tree | 6cd8992582e538acb6069a36d9f07c6256108398 | |
| parent | 0a43629951e517d95ec791a361e7c7fa9c56d6cb (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.cc | 4 |
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()) { |
