Skip to content
This repository has been archived by the owner on Feb 25, 2025. It is now read-only.

[libtxt] Assign a unique ID to each glyph cluster within a line #15742

Merged
merged 1 commit into from
Jan 22, 2020

Conversation

jason-simmons
Copy link
Member

Previously layout had been using the cluster index returned by Minikin,
which is only unique within each call to Minikin layout. This can produce
duplicate cluster IDs within a line containing multiple text runs.
GetGlyphPositionAtCoordinate then returns incorrect results because it thinks
the affected glyphs are part of the same cluster.

Fixes flutter/flutter#48231
Fixes flutter/flutter#49044

Previously layout had been using the cluster index returned by Minikin,
which is only unique within each call to Minikin layout.  This can produce
duplicate cluster IDs within a line containing multiple text runs.
GetGlyphPositionAtCoordinate then returns incorrect results because it thinks
the affected glyphs are part of the same cluster.

Fixes flutter/flutter#48231
Fixes flutter/flutter#49044
Copy link
Contributor

@GaryQian GaryQian left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@jason-simmons jason-simmons added the waiting for tree to go green This PR is approved and tested, but waiting for the tree to be green to land. label Jan 22, 2020
@fluttergithubbot fluttergithubbot merged commit 766f53c into flutter:master Jan 22, 2020
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Jan 23, 2020
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Jan 23, 2020
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Jan 23, 2020
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Jan 23, 2020
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Jan 23, 2020
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Jan 24, 2020
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Jan 24, 2020
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Jan 24, 2020
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Jan 24, 2020
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Jan 24, 2020
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Jan 24, 2020
engine-flutter-autoroll added a commit to flutter/flutter that referenced this pull request Jan 24, 2020
flutter/engine@46e58b9...439a218

git log 46e58b9..439a218 --first-parent --oneline
2020-01-23 [email protected] Fixes labelPrefix memory leak in FlutterEngine (flutter/engine#14674)
2020-01-23 [email protected] Release TextureView surface within FlutterTextureView when disconnected. (#48535) (flutter/engine#15899)
2020-01-23 [email protected] [fuchsia] Timeline events in profile mode to observatory (flutter/engine#15900)
2020-01-23 [email protected] Roll fuchsia/sdk/core/linux-amd64 from N502w... to Wc7e4... (flutter/engine#15935)
2020-01-23 [email protected] Add script to force build LUCI builders for a specified commit (flutter/engine#15938)
2020-01-23 [email protected] Roll src/third_party/dart 6aa7407d6309..e84bea25df23 (6 commits) (flutter/engine#15934)
2020-01-23 [email protected] Roll src/third_party/skia f9aea7f7e502..e4ddb8a7cddc (35 commits) (flutter/engine#15931)
2020-01-23 [email protected] Roll fuchsia/sdk/core/mac-amd64 from LGwl3... to LAOYs... (flutter/engine#15930)
2020-01-23 [email protected] Roll src/third_party/dart 582727a4ec3b..6aa7407d6309 (4 commits) (flutter/engine#15923)
2020-01-23 [email protected] Revert "Migrate flutter_runner from flutter_runner::{Thread,Loop} to fml::{Thread,MessageLoop} (#15118)" (flutter/engine#15903)
2020-01-23 [email protected] Roll src/third_party/dart a9ea9365ad8a..582727a4ec3b (33 commits) (flutter/engine#15906)
2020-01-22 [email protected] Implement new SkCanvas virtuals in testing canvases (flutter/engine#15893)
2020-01-22 [email protected] Const finder fixes (flutter/engine#15880)
2020-01-22 [email protected] Roll fuchsia/sdk/core/linux-amd64 from v-OJE... to N502w... (flutter/engine#15892)
2020-01-22 [email protected] errant log (flutter/engine#15891)
2020-01-22 [email protected] Roll src/third_party/skia d59053987a27..f9aea7f7e502 (10 commits) (flutter/engine#15890)
2020-01-22 [email protected] [libtxt] Assign a unique ID to each glyph cluster within a line (flutter/engine#15742)
2020-01-22 [email protected] Roll src/third_party/dart 439cabaec02f..a9ea9365ad8a (4 commits) (flutter/engine#15886)
2020-01-22 [email protected] Roll fuchsia/sdk/core/mac-amd64 from jAkm1... to LGwl3... (flutter/engine#15884)


If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC [email protected] on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
NoamDev added a commit to NoamDev/engine that referenced this pull request Feb 27, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
cla: yes waiting for tree to go green This PR is approved and tested, but waiting for the tree to be green to land.
Projects
None yet
4 participants