From ebdbb9011f6ad67d34f9fe4a0a9e1b0eafb938b9 Mon Sep 17 00:00:00 2001 From: WarmUpTill Date: Sun, 22 Jan 2023 16:24:37 +0100 Subject: [PATCH] Fix scene switch action aborting macro execution abortMacroWait was not reset in waitForTransitionChangeFixedDuration() leading to the scene switch action returning false --- src/macro-core/macro-action-scene-switch.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/macro-core/macro-action-scene-switch.cpp b/src/macro-core/macro-action-scene-switch.cpp index cc8d8048..31645882 100644 --- a/src/macro-core/macro-action-scene-switch.cpp +++ b/src/macro-core/macro-action-scene-switch.cpp @@ -31,7 +31,6 @@ void waitForTransitionChangeFixedDuration(int duration) auto time = std::chrono::high_resolution_clock::now() + std::chrono::milliseconds(duration); - switcher->abortMacroWait = false; std::unique_lock lock(switcher->m); while (!switcher->abortMacroWait) { if (switcher->macroTransitionCv.wait_until(lock, time) == @@ -107,6 +106,7 @@ bool MacroActionSwitchScene::PerformAction() const int expectedTransitionDuration = getExpectedTransitionDuration(scene, transition, _duration.seconds); + switcher->abortMacroWait = false; if (expectedTransitionDuration < 0) { waitForTransitionChange(transition); } else {