diff --git a/src/editor/C4ConsoleQtState.cpp b/src/editor/C4ConsoleQtState.cpp index a956bfdf1..8cdc10052 100644 --- a/src/editor/C4ConsoleQtState.cpp +++ b/src/editor/C4ConsoleQtState.cpp @@ -915,12 +915,19 @@ void C4ConsoleGUIState::AddViewport(C4ViewportWindow *cvp) void C4ConsoleGUIState::RemoveViewport(C4ViewportWindow *cvp) { if (!viewport_area) return; - for (auto vp : viewports) + + for (auto iter = viewports.begin(); iter != viewports.end(); ) { + auto vp = *iter; if (vp->GetViewportWindow() == cvp) { viewport_area->removeDockWidget(vp); vp->deleteLater(); + iter = viewports.erase(iter); + } + else + { + ++iter; } } }