fix: handle race conditions in scroll lock / restore #1700
Merged
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.
Closes #1639
This pull request addresses a race condition in the scroll lock and restore logic. The core improvement is a more robust mechanism for handling the timing of scroll lock cleanup, ensuring that the body style is not reset prematurely when multiple scroll locks are created or destroyed in quick succession.
Scroll Lock Race Condition Fixes:
scheduleCleanupIfNoNewLocks) to delay and coordinate cleanup of scroll lock, preventing the body style from being reset if a new lock is added immediately after one is removed. This addresses issues where overlays/menus could break due to premature cleanup.