瀏覽代碼

UI: Fix scene override when switching off studio mode

The scene override would trigger, but the scene override variable would
stay set, causing the next transition to be the same one that was
previously used for overriding.
jp9000 8 年之前
父節點
當前提交
42323ea31b
共有 1 個文件被更改,包括 5 次插入3 次删除
  1. 5 3
      UI/window-basic-main-transitions.cpp

+ 5 - 3
UI/window-basic-main-transitions.cpp

@@ -335,8 +335,10 @@ void OBSBasic::TransitionToScene(OBSSource source, bool force, bool direct,
 			}
 		}
 
-		obs_transition_start(transition, OBS_TRANSITION_MODE_AUTO,
-				duration, source);
+		bool success = obs_transition_start(transition,
+				OBS_TRANSITION_MODE_AUTO, duration, source);
+		if (!success)
+			TransitionFullyStopped();
 	}
 
 	if (usingPreviewProgram && sceneDuplicationMode && !direct)
@@ -1164,7 +1166,7 @@ void OBSBasic::SetPreviewProgramMode(bool enabled)
 		if (!actualProgramScene)
 			actualProgramScene = GetCurrentSceneSource();
 		else
-			SetCurrentScene(actualProgramScene);
+			SetCurrentScene(actualProgramScene, true);
 		TransitionToScene(actualProgramScene, true);
 
 		delete programOptions;