From e6061ff96ff5eea3f12e2d0eb6ef568e7e05e0a6 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Sat, 7 May 2022 18:39:56 +0200 Subject: [PATCH] CONSIDER MERGING: avoid a segfault due to early delete of a LayoutView object --- src/lay/lay/layMainWindow.cc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/lay/lay/layMainWindow.cc b/src/lay/lay/layMainWindow.cc index d632ce26a..68b420586 100644 --- a/src/lay/lay/layMainWindow.cc +++ b/src/lay/lay/layMainWindow.cc @@ -2876,7 +2876,9 @@ MainWindow::close_view (int index) view_closed_event (int (index)); - delete view (index); + // delete the view later as it may still be needed by event handlers or similar + std::unique_ptr old_view (view (index)); + mp_views.erase (mp_views.begin () + index, mp_views.begin () + index + 1); if (index >= int (mp_views.size ())) {