Skip to content

Fix: stop auto-scrolling during selection handle drag - #185206

Merged
auto-submit[bot] merged 25 commits into
flutter:masterfrom
nicolinx:fix143479
Sep 25, 2026
Merged

auto-submit[bot] merged 25 commits into
flutter:masterfrom
nicolinx:fix143479

Conversation

@nicolinx

@nicolinx nicolinx commented Apr 17, 2026 •

Copy link
Copy Markdown
Contributor

This PR prevents the text viewport from jumping or "flickering" while a user is dragging selection handles. By disabling automated scrolling during a drag, the viewport remains stable and avoids incorrectly snapping to the bottom of the selection when the user is dragging the top handle.

Fixes #132047

Included a regression test in packages/flutter/test/widgets/editable_text_test.dart to verify that the scroll offset remains stable during a selection drag.

Pre-launch Checklist

If you need help, consider asking for advice on the #hackers-new channel on Discord.

If this change needs to override an active code freeze, provide a comment explaining why. The code freeze workflow can be overridden by code reviewers. See pinned issues for any active code freezes with guidance.

Note: The Flutter team is currently trialing the use of Gemini Code Assist for GitHub. Comments from the gemini-code-assist bot should not be taken as authoritative feedback from the Flutter team. If you find its comments useful you can update your code accordingly, but if you are unsure or disagree with the feedback, please feel free to wait for a Flutter team member's review for guidance on which automated comments should be addressed.

Loading
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

a: text input Entering text in a text field or keyboard related problems CICD Run CI/CD framework flutter/packages/flutter repository. See also f: labels.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

TextField scrolling jumps around when dragging text selection handle upwards

8 participants