Skip to content

fixtureeditor: reject definitions without modes - #2096

Open
gmint wants to merge 3 commits into
mcallegari:masterfrom
gmint:fix/fixture-editor-empty-mode
Open

fixtureeditor: reject definitions without modes#2096
gmint wants to merge 3 commits into
mcallegari:masterfrom
gmint:fix/fixture-editor-empty-mode

Conversation

@gmint

@gmint gmint commented Aug 18, 2026

Copy link
Copy Markdown

Summary

Prevent the Fixture Editor from saving a fixture definition that has no modes.

Root cause

Since v4.14.4, QLCFixtureDef::loadXML() correctly rejects definitions without modes to prevent the crash fixed by #1775. The Fixture Editor could still create and save exactly that invalid definition, leaving it impossible to reopen.

Changes

  • validate that a definition contains at least one mode before Save or Save As
  • show the existing missing-information warning, select the Modes tab by widget reference, and focus the add-mode control
  • rename the validation helper to reflect its broader responsibility

This preserves the engine-side load guard while preventing the editor from producing files it cannot reload.

Fixes #2095.

Validation

  • git diff --check
  • inspected against the v4.14.4 source and the reported no-mode QXF reproduction
  • the upstream CI build is awaiting maintainer approval because this PR originates from a fork

The local workspace does not include CMake or Qt development dependencies, so the project's make check suite could not be run there.

@gmint
gmint marked this pull request as ready for review August 18, 2026 19:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[v4.14.4] Fixture Editor saves definitions that it can no longer reopen

1 participant