Skip to content

Plugins: defer VST3 editor creation until requested - #92

Merged
emaspa merged 1 commit into
mainfrom
fix/elgato-eq-lifecycle
Sep 12, 2026
Merged

emaspa merged 1 commit into
mainfrom
fix/elgato-eq-lifecycle

Conversation

@emaspa

@emaspa emaspa commented Sep 12, 2026

Copy link
Copy Markdown
Owner

Changes

Elgato EQ 1.3.0.110 crashes when activation follows a VST3 editor view being created and released. OpenXLR did that while loading to check for editor availability.

  • Defer view creation until the editor is actually requested, matching the scanner's existing behavior.
  • Report a plugin with no compatible editor accurately after the open attempt.
  • Add coverage for the deferred no-editor reply and a manual real-plugin lifecycle diagnostic.

Verification

  • The original Elgato EQ reproduction changed from exit 134 to exit 0 after removing the load-time probe.
  • The real plugin processed 60 cycles, opened and closed its editor under Xvfb, and unloaded with Wine host exit 0.
  • Filtering a 440 Hz tone confirmed actual EQ processing, not just process survival.
  • Native build passed with warnings treated as errors. Audio and CLAP tests passed all 16 cases; editor tests passed all 11 cases.
  • Deployed locally and confirmed working. The running helper was verified against the rebuilt binary.

The plugin still fails if explicitly deactivated and reactivated after a view has been created. OpenXLR activates once per helper process, so its normal lifecycle does not take that path. The diagnostic documents it.

No version bump or release changes. Individual-plugin management is a separate change.

Creating and releasing an editor while loading triggers a pure virtual call in Elgato EQ when it is activated. Defer view creation until the editor is opened and keep the no-editor reply accurate.

Cover the deferred no-editor result and add a real-plugin lifecycle diagnostic for processing, editor and activation checks.
@emaspa
emaspa merged commit 8ebe495 into main Sep 12, 2026
4 checks passed
@emaspa
emaspa deleted the fix/elgato-eq-lifecycle branch September 12, 2026 13:03
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.

1 participant