frontend: Prevent setting transition during transitions

This commit is contained in:
Warchamp7
2025-09-12 23:39:49 -04:00
committed by Ryan Foster
parent b8f0990d50
commit 2faf51a7ed
2 changed files with 8 additions and 0 deletions
+2
View File
@@ -238,6 +238,8 @@ void OBSBasic::SetPreviewProgramMode(bool enabled)
sizeObserver = new PreviewProgramSizeObserver(ui->preview, program, this);
ui->transitions->setEnabled(true);
OnEvent(OBS_FRONTEND_EVENT_STUDIO_MODE_ENABLED);
blog(LOG_INFO, "Switched to Preview/Program mode");
@@ -258,6 +258,8 @@ void OBSBasic::OverrideTransition(OBSSource transition)
void OBSBasic::TransitionFullyStopped()
{
EnableTransitionWidgets(true);
if (overridingTransition) {
OverrideTransition(GetCurrentTransition());
overridingTransition = false;
@@ -387,6 +389,10 @@ void OBSBasic::SetTransition(OBSSource transition)
{
OBSSourceAutoRelease oldTransition = obs_get_output_source(0);
if (oldTransition && obs_transition_is_active(oldTransition)) {
return;
}
if (oldTransition && transition) {
std::string uuid = obs_source_get_uuid(transition);
obs_transition_swap_begin(transition, oldTransition);