From e4f0c21252864d76343a9cb2e71fd7d1d09439d3 Mon Sep 17 00:00:00 2001 From: jp9000 Date: Sun, 19 Dec 2021 09:40:45 -0800 Subject: [PATCH] UI: Process deleteLater() tasks in OBSBasic::ClearSceneData Causes QObject::deleteLater() events to be processed immediately in OBSBasic::ClearSceneData() to ensure no lingering source or scene item references remain --- UI/window-basic-main.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/UI/window-basic-main.cpp b/UI/window-basic-main.cpp index 91ca3a481..5926e2bd4 100644 --- a/UI/window-basic-main.cpp +++ b/UI/window-basic-main.cpp @@ -4563,6 +4563,10 @@ void OBSBasic::ClearSceneData() undo_s.clear(); + /* using QEvent::DeferredDelete explicitly is the only way to ensure + * that deleteLater events are processed at this point */ + QApplication::sendPostedEvents(nullptr, QEvent::DeferredDelete); + disableSaving--; blog(LOG_INFO, "All scene data cleared");