fix(windows): refactor static globals to instance members to support …#1970
Open
idcpj wants to merge 1 commit intobluefireteam:mainfrom
Open
fix(windows): refactor static globals to instance members to support …#1970idcpj wants to merge 1 commit intobluefireteam:mainfrom
idcpj wants to merge 1 commit intobluefireteam:mainfrom
Conversation
63243ea to
1c28518
Compare
…multiple windows - Replaced all `static inline` global variables with instance members in `AudioplayersWindowsPlugin`. - Ensured each Engine instance possesses its own independent `MethodChannel` and `EventStreamHandler`. - Fixed crashes occurring when opening a second window due to global static pointer overwriting. - Isolated plugin state across different windows to prevent interference.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
fix(windows): support multi-engine and fix crashes in multi-window environments
Description
Previously,
AudioplayersWindowsPluginutilizedstatic inlineglobal variables for theMethodChannelandEventStreamHandler. In multi-window scenarios (e.g., usingdesktop_multi_window), where multiple Flutter Engines are initialized, these static pointers were overwritten by the most recently opened window. This caused the plugin state of previous windows to become corrupted, leading to crashes and inconsistent behavior.This PR refactors the plugin to move these globals into instance members. This ensures:
MethodChannelandEventStreamHandler.Checklist
fix:,feat:,refactor:,docs:,chore:,test:,ci:etc).///, where necessary.Breaking Change
Related Issues
Resolves crashes in multi-window/multi-engine environments on Windows.