From 44ee91188f1064922cdd1dfcd30d299712119ee0 Mon Sep 17 00:00:00 2001 From: Clayton Groeneveld Date: Sat, 17 Apr 2021 00:28:15 -0500 Subject: [PATCH] UI: Fix crash when closing missing files window A crash would occur when clicking the 'x' button in the missing files dialog. This seemed to only happen in debug mode and using QT 5.15.0. Closes obsproject/obs-studio#4363 Fixes obsproject/obs-studio#4359 --- UI/window-basic-main.cpp | 5 +---- UI/window-basic-main.hpp | 3 +-- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/UI/window-basic-main.cpp b/UI/window-basic-main.cpp index 652a8e20e..ac63fc8c5 100644 --- a/UI/window-basic-main.cpp +++ b/UI/window-basic-main.cpp @@ -1165,12 +1165,9 @@ retryScene: if (obs_missing_files_count(files) > 0) { missDialog = new OBSMissingFiles(files, this); + missDialog->setAttribute(Qt::WA_DeleteOnClose, true); missDialog->show(); missDialog->raise(); - - auto close = [=]() { delete missDialog; }; - - connect(missDialog, &OBSMissingFiles::finished, close); } else { obs_missing_files_destroy(files); } diff --git a/UI/window-basic-main.hpp b/UI/window-basic-main.hpp index e6a1f665a..1f93d1695 100644 --- a/UI/window-basic-main.hpp +++ b/UI/window-basic-main.hpp @@ -217,6 +217,7 @@ private: QPointer filters; QPointer statsDock; QPointer about; + QPointer missDialog; OBSLogViewer *logView = nullptr; @@ -486,8 +487,6 @@ private: QList modalDialogs; QList visMsgBoxes; - OBSMissingFiles *missDialog; - QList visDlgPositions; QByteArray startingDockLayout;