Przeglądaj źródła

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
Clayton Groeneveld 4 lat temu
rodzic
commit
44ee91188f
2 zmienionych plików z 2 dodań i 6 usunięć
  1. 1 4
      UI/window-basic-main.cpp
  2. 1 2
      UI/window-basic-main.hpp

+ 1 - 4
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);
 	}

+ 1 - 2
UI/window-basic-main.hpp

@@ -217,6 +217,7 @@ private:
 	QPointer<OBSBasicFilters> filters;
 	QPointer<QDockWidget> statsDock;
 	QPointer<OBSAbout> about;
+	QPointer<OBSMissingFiles> missDialog;
 
 	OBSLogViewer *logView = nullptr;
 
@@ -486,8 +487,6 @@ private:
 	QList<QDialog *> modalDialogs;
 	QList<QMessageBox *> visMsgBoxes;
 
-	OBSMissingFiles *missDialog;
-
 	QList<QPoint> visDlgPositions;
 
 	QByteArray startingDockLayout;