Skip to content

Conversation

@Dankirk
Copy link

@Dankirk Dankirk commented Jan 28, 2026

Description

Fixes obs_transition_start() using outdated info to configure new transition if transition was already active.

Here's a snippet from obs-source-transition.c of what needs re-initializing / checking after obs_transition_start() calls obs_transition_set()

lock_transition(transition);
same_as_source = dest == transition->transition_sources[0];
same_as_dest = dest == transition->transition_sources[1];
same_mode = mode == transition->transition_mode;
active = transition_active(transition);
unlock_transition(transition);

if (same_as_source && !active)
	return false;
if (active && mode == OBS_TRANSITION_MODE_MANUAL && same_mode && same_as_dest)
	return true;

Knowing obs_transition_set() will set the dest as source, we should also check for same_as_dest before interrupting current transition since if it is same, it would appear as the transition just turned into a cut. (transition cancel + then having same source and dest).

Motivation and Context

After pr #12622 slideshow fails to fade black/transparent with Stop if used during active transition of slides and instead the last image is shown. This works in 32.0.4.

How Has This Been Tested?

Used slideshow to check transitions work again.

Needs testing with the general transition controls.

Types of changes

  • Bug fix (non-breaking change which fixes an issue)

Checklist:

  • My code has been run through clang-format.
  • I have read the contributing document.
  • My code is not on the master branch.
  • The code has been tested.
  • All commit messages are properly formatted and commits squashed where appropriate.
  • I have included updates to all appropriate documentation.

obs_transition_start() current behavior uses outdated info to determine actions, so re-initialize variables after obs_transition_set()
@RytoEX RytoEX requested review from PatTheMav and Warchamp7 January 28, 2026 17:57
@RytoEX RytoEX added the Bug Fix Non-breaking change which fixes an issue label Jan 28, 2026
@Warchamp7
Copy link
Member

Warchamp7 commented Feb 3, 2026

After pr #12622 slideshow fails to fade black/transparent with Stop if used during active transition of slides and instead the last image is shown. This works in 32.0.4.

I am not able to reproduce this issue

Nevermind, the aformentioned change was not in the beta I was testing

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Bug Fix Non-breaking change which fixes an issue

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants