Coalesce queued Display size-change events to protect EDT#4593
Merged
shai-almog merged 2 commits intomasterfrom Mar 5, 2026
Merged
Coalesce queued Display size-change events to protect EDT#4593shai-almog merged 2 commits intomasterfrom
shai-almog merged 2 commits intomasterfrom
Conversation
✅ Continuous Quality ReportTest & Coverage
Static Analysis
Generated automatically by the PR CI workflow. |
Collaborator
Author
|
Compared 32 screenshots: 32 matched. Native Android coverage
✅ Native Android screenshot tests passed. Native Android coverage
|
Collaborator
Author
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.

Motivation
SIZE_CHANGEDevents and overflow the fixed-sizeinputEventStack, overwhelming the EDT and producing exceptions.Description
lastSizeChangeOffsetfield to track a queued size-change slot for the current input-event stack cycle.lastSizeChangeOffsetwhen flipping the input event stacks so coalescing is scoped to a single EDT cycle.addSizeChangeEvent(...)to coalesce new size notifications by overwriting the queued width/height if a size-change entry already exists, otherwise enqueue a new 3-int entry and record its offset.ArrayIndexOutOfBoundsException, matching defensive patterns used for other high-frequency events.Testing
./scripts/fast-core-unit-smoke.sh, which failed in this environment due to a module/profile mismatch and a top-level module reporting "No tests were executed" (environment issue, not a functional regression).mvn -pl core-unittests -am -DunitTests=true -Dmaven.javadoc.skip=true -DfailIfNoTests=false, which completed but reported one unrelated test failure (RSSReaderCoverageTest.testEventHandler) not caused by these changes.DisplayTestviamvn -pl core-unittests -Dtest=DisplayTest test, and theDisplay-related tests passed.Codex Task