[0.84] Fix multiline TextInput crash from TxDrawD2D reentrancy#15990
Merged
iamAbhi-916 merged 2 commits intomicrosoft:0.84-stablefrom Apr 15, 2026
Merged
Conversation
vineethkuttan
approved these changes
Apr 15, 2026
Contributor
vineethkuttan
left a comment
There was a problem hiding this comment.
Is this issue present only in version 0.84? if not we have to add fix to main as well
Contributor
Author
Yeah we have to port it to main and previous releases |
github-actions Bot
pushed a commit
that referenced
this pull request
Apr 15, 2026
* Fix multiline TextInput crash from TxDrawD2D reentrancy * Change files
github-actions Bot
pushed a commit
that referenced
this pull request
Apr 15, 2026
* Fix multiline TextInput crash from TxDrawD2D reentrancy * Change files
github-actions Bot
pushed a commit
that referenced
this pull request
Apr 15, 2026
* Fix multiline TextInput crash from TxDrawD2D reentrancy * Change files
iamAbhi-916
added a commit
that referenced
this pull request
Apr 16, 2026
… (#16005) * Fix multiline TextInput crash from TxDrawD2D reentrancy * Change files
iamAbhi-916
added a commit
that referenced
this pull request
Apr 16, 2026
… (#16004) * Fix multiline TextInput crash from TxDrawD2D reentrancy * Change files
iamAbhi-916
added a commit
that referenced
this pull request
Apr 16, 2026
… (#16003) * Fix multiline TextInput crash from TxDrawD2D reentrancy * Change files
gmacmaster
pushed a commit
to Virtual-Fulfillment-Technologies-Inc/react-native-windows-fork
that referenced
this pull request
Apr 16, 2026
…soft#15990) (microsoft#16005) * Fix multiline TextInput crash from TxDrawD2D reentrancy * Change files
acoates-ms
added a commit
that referenced
this pull request
Apr 25, 2026
…rformance (#16050) * Fix ScrollView keyboard scroll drift on long key press (#15988) * Fix ScrollView keyboard scroll drift on long key press * Change files * [0.84] Fix multiline TextInput crash from TxDrawD2D reentrancy (#15990) (#16003) * Fix multiline TextInput crash from TxDrawD2D reentrancy * Change files * Fix touch event handling, improve reliability, and optimize performance (#16048) * Fix touch event handling, improve reliability, and optimize performance - Fix touch/pen pointer device type detection and screenPoint coordinates - Fix touch cancel to include all active touches per W3C spec - Synthesize touch-cancel for stale pointers and releases outside views - Fix TextInput pointer message translation (use mouse-style messages for RichEdit) - Fix ShouldSubmit modifier key checks (altDown, ctrlKey) - Add null safety to RootComponentView() for island teardown - Fix Pressability hover timeout and tabIndex focusable mapping - Cache event path to root to avoid repeated tree walks - Use unordered_set for pointer capture tracking - Eliminate O(n²) hit testing by caching visual children - Skip snap scroll reconfiguration when unchanged - Improve TextInput reliability: thread-safe loading, null safety, use-after-free fix - Fix Timing data race and remove duplicate image error allocation - Use unordered_set for animated node and component registry lookups - Clean up dead code in ScrollView and simplify Modal event emitter init * formatting * Change files * Update react-native-windows-cd995d7a-4df8-4c73-9b1b-c57b3b886cc6.json * Touch target * addressed pr comments * Crash on invalid index * revert until rn core pr * Update react-native-windows-cd995d7a-4df8-4c73-9b1b-c57b3b886cc6.json * format * snapshots --------- Co-authored-by: Gordon MacMaster <31481849+gmacmaster@users.noreply.github.com> Co-authored-by: Gordon MacMaster <gordomacmaster@gmail.com> * change files * Fix some issues with rounded borders (#16051) * Some fixes for rounded borders * Change files * Image snaphots --------- Co-authored-by: Abhijeet Jha <74712637+iamAbhi-916@users.noreply.github.com> Co-authored-by: Gordon MacMaster <31481849+gmacmaster@users.noreply.github.com> Co-authored-by: Gordon MacMaster <gordomacmaster@gmail.com>
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.
Description
Type of Change
Why
when text wraps to a new line RichEdit's TxDrawD2D internally calls TxViewChange, which re-enters DrawText(), causing infinite recursion and a stack overflow.
Resolves [Add Relevant Issue Here]
What
Added m_cDrawBlock reentrancy guard around TxDrawD2D() in DrawText(), matching the existing pattern used for OnTxInPlaceActivate
Screenshots
textinput_multiline_fix.mp4
Testing
locally tested in playground
Changelog
Should this change be included in the release notes: yes
Add a brief summary of the change to use in the release notes for the next release.
Fix multiline TextInput crash from TxDrawD2D reentrancy
Microsoft Reviewers: Open in CodeFlow