Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix Hit Tests in RenderEditable when Scrolled #81040

Merged
merged 3 commits into from Apr 26, 2021

Conversation

creativecreatorormaybenot
Copy link
Contributor

This fixes hitTestChildren in RenderEditable by respecting the scroll offset (_paintOffset for applying the scroll axis).

Before, hit tests were broken when the EditableText/TextField was scrolled.

Issues

Fixes #81038.

Tests

The first test case I added was passing before (making sure that my change does not make that fail) and the latter two test cases were failing before.

Pre-launch Checklist

  • I read the Contributor Guide and followed the process outlined there for submitting PRs.
  • I read the Tree Hygiene wiki page, which explains my responsibilities.
  • I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
  • I signed the CLA.
  • I listed at least one issue that this PR fixes in the description above.
  • I updated/added relevant documentation (doc comments with ///).
  • I added new tests to check the change I am making or feature I am adding, or Hixie said the PR is test-exempt.
  • All existing and new tests are passing.

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

@flutter-dashboard
Copy link

It looks like this pull request may not have tests. Please make sure to add tests before merging. If you need an exemption to this rule, contact Hixie on the #hackers channel in Chat.

If you are not sure if you need tests, consider this rule of thumb: the purpose of a test is to make sure someone doesn't accidentally revert the fix. Ask yourself, is there anything in your PR that you feel it is important we not accidentally revert back to how it was before your fix?

Reviewers: Read the Tree Hygiene page and make sure this patch meets those guidelines before LGTMing.

@flutter-dashboard flutter-dashboard bot added the framework flutter/packages/flutter repository. See also f: labels. label Apr 23, 2021
@google-cla google-cla bot added the cla: yes label Apr 23, 2021
@LongCatIsLooong
Copy link
Contributor

The change looks good to me. Could you create a RenderEditable with a non-zero offset, and call hitTest on it to see if the method is doing the right thing? It's probably the easiest to follow the example of tests in "test/rendering/editable_test.dart"

@creativecreatorormaybenot
Copy link
Contributor Author

@LongCatIsLooong Thanks for the hint. I am working on the tests and will probably have them ready in a few 👍

@creativecreatorormaybenot
Copy link
Contributor Author

I added the test cases 👍 Note that the first test case I added was passing before (making sure that my change does not make that fail) and the latter two test cases were failing before.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
framework flutter/packages/flutter repository. See also f: labels.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

TextField Hit Tests broken when Scrolled
3 participants