From b42de8d5c8c1f2341a8b68ebc64f29565d9536ed Mon Sep 17 00:00:00 2001 From: WarmUpTill Date: Wed, 20 Jan 2021 19:01:56 +0100 Subject: [PATCH] fix crash on settings import (#102) This crash could happen if the scene switcher was currently stuck waiting in a scene sequence causing while the import of new settings took place potentially invalidating the settings of the sequence after wakeup. --- src/general.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/general.cpp b/src/general.cpp index 04515acf..40c2d117 100644 --- a/src/general.cpp +++ b/src/general.cpp @@ -342,6 +342,11 @@ void AdvSceneSwitcher::on_exportSettings_clicked() void AdvSceneSwitcher::on_importSettings_clicked() { + // scene switcher could be stuck in a sequence + // so it needs to be stopped before importing new settings + bool start = !switcher->stop; + switcher->Stop(); + std::lock_guard lock(switcher->m); QString directory = QFileDialog::getOpenFileName( @@ -387,6 +392,10 @@ void AdvSceneSwitcher::on_importSettings_clicked() DisplayMessage(obs_module_text( "AdvSceneSwitcher.generalTab.saveOrLoadsettings.loadSuccess")); close(); + + // restart scene switcher if it was active + if (start) + switcher->Start(); } int findTabIndex(QTabWidget *tabWidget, int pos)