Skip to content

Commit 60001ef

Browse files
committed
[CanvasKit] Add workaround for unimplemented computeLineMetrics (#441)
Related to #437
1 parent 9d2681d commit 60001ef

File tree

3 files changed

+19
-4
lines changed

3 files changed

+19
-4
lines changed

.github/workflows/demo_app.yml

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,15 @@ jobs:
5151
pwd && ls -al
5252
sed -i -e 's/# web only: //' pubspec.yaml
5353
54-
flutter build web
54+
flutter build web --web-renderer canvaskit
55+
mv ./build/web ./build/web-canvaskit
56+
57+
flutter build web --web-renderer html
58+
mv ./build/web ./build/web-html
59+
60+
flutter build web --web-renderer auto
61+
mv ./build/web-canvaskit ./build/web/canvaskit
62+
mv ./build/web-html ./build/web/html
5563
5664
- name: Generate supported/tags.html
5765
run: |
@@ -94,6 +102,6 @@ jobs:
94102
env:
95103
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
96104
with:
97-
body: "Deployed ${{ github.sha }} to ${{ steps.now.outputs.url }}.\n\nQuick links:\n- [supported/tags.html](${{ steps.now.outputs.url }}/supported/tags.html)\n- [Hello World](${{ steps.now.outputs.url }}/#/helloworld)\n- [Hello World (core)](${{ steps.now.outputs.url }}/#/helloworldcore)\n- [Wordpress](${{ steps.now.outputs.url }}/#/wordpress)"
105+
body: "Deployed ${{ github.sha }} to ${{ steps.now.outputs.url }}.\n\nQuick links:\n- [supported/tags.html](${{ steps.now.outputs.url }}/supported/tags.html)\n- [Hello World](${{ steps.now.outputs.url }}/#/helloworld)\n- [Hello World (core)](${{ steps.now.outputs.url }}/#/helloworldcore)\n- [Wordpress](${{ steps.now.outputs.url }}/#/wordpress)\n- [--web-renderer canvaskit](${{ steps.now.outputs.url }}/canvaskit/)\n- [--web-renderer html](${{ steps.now.outputs.url }}/html/)"
98106
fingerprint: "## Demo app"
99107
replace: please

packages/core/lib/src/internal/core_ops.dart

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import 'dart:math';
2+
import 'dart:ui';
23

34
import 'package:flutter/gestures.dart';
45
import 'package:flutter/rendering.dart';

packages/core/lib/src/internal/ops/tag_li.dart

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -372,11 +372,17 @@ class _ListMarkerRenderObject extends RenderBox {
372372
@override
373373
void paint(PaintingContext context, Offset offset) {
374374
final canvas = context.canvas;
375-
final m = _textPainter.computeLineMetrics().first;
375+
376+
var lineMetrics = <LineMetrics>[];
377+
try {
378+
lineMetrics = _textPainter.computeLineMetrics();
379+
// ignore: empty_catches
380+
} on UnimplementedError {}
381+
final m = lineMetrics.isNotEmpty ? lineMetrics.first : null;
376382
final center = offset +
377383
Offset(
378384
size.width / 2,
379-
(m.descent.isFinite && m.unscaledAscent.isFinite)
385+
(m?.descent?.isFinite == true && m?.unscaledAscent?.isFinite == true)
380386
? size.height -
381387
m.descent -
382388
m.unscaledAscent +

0 commit comments

Comments
 (0)