From 600c9bbe6b0d9c8449823ed8777132b01b11ba69 Mon Sep 17 00:00:00 2001 From: Thomas Wilshaw Date: Wed, 14 Apr 2021 17:38:45 +0100 Subject: [PATCH 1/2] viewer: Safely delete full screen widget Hide the full screen widget and then use deleteLater() rather than delete. Fixes #1571 --- app/widget/viewer/viewer.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/app/widget/viewer/viewer.cpp b/app/widget/viewer/viewer.cpp index 2a236c55f..388d3347e 100644 --- a/app/widget/viewer/viewer.cpp +++ b/app/widget/viewer/viewer.cpp @@ -322,7 +322,9 @@ void ViewerWidget::SetFullScreen(QScreen *screen) } if (windows_.contains(screen)) { - delete windows_.take(screen); + ViewerWindow* vw = windows_.take(screen); + vw->hide(); + vw->deleteLater(); return; } From 8142df7a0498a972f46e653c8b31a09e4ba363f4 Mon Sep 17 00:00:00 2001 From: Thomas Wilshaw Date: Fri, 16 Apr 2021 20:15:10 +0100 Subject: [PATCH 2/2] viewer: Don't hide the widget before deleting --- app/widget/viewer/viewer.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/app/widget/viewer/viewer.cpp b/app/widget/viewer/viewer.cpp index 388d3347e..9e697bc88 100644 --- a/app/widget/viewer/viewer.cpp +++ b/app/widget/viewer/viewer.cpp @@ -323,7 +323,6 @@ void ViewerWidget::SetFullScreen(QScreen *screen) if (windows_.contains(screen)) { ViewerWindow* vw = windows_.take(screen); - vw->hide(); vw->deleteLater(); return; }