Skip to content

Conversation

gxalpha
Copy link
Member

@gxalpha gxalpha commented Aug 29, 2025

Description

8c5858a changes this condition to obs_source_is_scene as a drive-by, however they aren't equivalent. obs_source_is_scene checks whether the source's is is "scene", which doesn't include groups, while OBS_SOURCE_TYPE_SCENE does. Suddenly not including groups is quite the API break. This now means obs_canvas_enum_scenes does also include groups, however that is much less of an egregious API change.

Motivation and Context

We shouldn't change API behavior on accident, for no reason, and with no announcement.

This change can manifest in scenarios where it's really hard to notice what happened. I actually found this while investigating an issue where after deleting a scene, undo would not re-add it to groups it had been nested in.

There are also these websocket issues:
Fixes #12420.
Fixes obsproject/obs-websocket#1308.

Doing a change like this would need much more consideration. And yes, I know that it already shipped in a release (31.1), but that's where these issues arose, and there are probably more.

How Has This Been Tested?

Tested with obs-raw that the websocket issue is fixed.
Tested that the undo/redo issue is fixed.

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.

[1] changes this condition to obs_source_is_scene as a drive-by, however
they aren't equivalent. obs_source_is_scene checks whether the source's
is is "scene", which doesn't include groups, while OBS_SOURCE_TYPE_SCENE
does. Suddenly not including groups is quite the API break.
This now means obs_canvas_enum_scenes does also include groups, however
that is much less of an egregious API change.

[1]: 8c5858a
@gxalpha gxalpha added the Bug Fix Non-breaking change which fixes an issue label Aug 29, 2025
@RytoEX RytoEX requested review from derrod and PatTheMav August 29, 2025 19:02
@RytoEX RytoEX self-assigned this Aug 29, 2025
Copy link
Member

@derrod derrod left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't remember why I changed this

@RytoEX RytoEX added this to the OBS Studio 32.0 milestone Sep 4, 2025
@RytoEX RytoEX merged commit 11b9f1a into obsproject:master Sep 4, 2025
15 checks passed
@gxalpha gxalpha deleted the obs_enum_scenes-with-groups branch September 4, 2025 20:12
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.

Bug: OBS 31.1.1 GetGroupList websocket call returns nothing Bug: OBS 31.1.1 GetGroupList websocket call returns nothing
3 participants