-
-
Notifications
You must be signed in to change notification settings - Fork 918
Description
Describe the bug:
in flutter_html 3.0.0-alpha.6 I can't rendert HTML in an AlertDialog. On some Devices it works, but eg. on Tablets it crashes ... the problem is releated with the insetPadding property of the AlertDialog Widget. In flutter_html 2.x it works perfectly.
HTML to reproduce the issue:
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_html/flutter_html.dart';
void main() {
runApp(
MaterialApp(
home: Scaffold(
floatingActionButton: Builder(
builder: (context) {
return FloatingActionButton(
onPressed: () {
showDialog(
context: context,
builder: (context) => AlertDialog(
insetPadding: const EdgeInsets.symmetric(horizontal: 14.0, vertical: 24.0), //this is crashing the app
content: Html(data: 'hello')));
},
child: const Icon(Icons.add),
);
},
),
),
),
);
}
Html
widget configuration:
default
Expected behavior:
show text in alert dialog
Screenshots:
nothing to show
Device details and Flutter/Dart/flutter_html
versions:
Flutter 3.3.6, flutter_html 3.0.0-alpha.6
Stacktrace/Logcat
E/flutter (20254): [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: Cannot hit test a render box with no size.
E/flutter (20254): The hitTest() method was called on this RenderBox: RenderConstrainedBox#d3c76 relayoutBoundary=up1:
E/flutter (20254): creator: ConstrainedBox ← Align ← MediaQuery ← Padding ← AnimatedPadding ← Dialog ← AlertDialog ← MediaQuery ← Padding ← DisplayFeatureSubScreen ← Semantics ← Builder ← ⋯
E/flutter (20254): parentData: offset=Offset(0.0, 0.0) (can use size)
E/flutter (20254): constraints: BoxConstraints(0.0<=w<=292.0, 0.0<=h<=642.7)
E/flutter (20254): size: MISSING
E/flutter (20254): additionalConstraints: BoxConstraints(280.0<=w<=Infinity, 0.0<=h<=Infinity)
E/flutter (20254): Although this node is not marked as needing layout, its size is not set.
E/flutter (20254): A RenderBox object must have an explicit size before it can be hit-tested. Make sure that the RenderBox in question sets its size during layout.
E/flutter (20254): #0 RenderBox.hitTest. (package:flutter/src/rendering/box.dart:2494:9)
E/flutter (20254): #1 RenderBox.hitTest (package:flutter/src/rendering/box.dart:2509:6)
E/flutter (20254): #2 RenderShiftedBox.hitTestChildren. (package:flutter/src/rendering/shifted_box.dart:97:25)
E/flutter (20254): #3 BoxHitTestResult.addWithPaintOffset (package:flutter/src/rendering/box.dart:805:31)
E/flutter (20254): #4 RenderShiftedBox.hitTestChildren (package:flutter/src/rendering/shifted_box.dart:92:21)
E/flutter (20254): #5 RenderBox.hitTest (package:flutter/src/rendering/box.dart:2511:11)
E/flutter (20254): #6 RenderShiftedBox.hitTestChildren. (package:flutter/src/rendering/shifted_box.dart:97:25)
E/flutter (20254): #7 BoxHitTestResult.addWithPaintOffset (package:flutter/src/rendering/box.dart:805:31)
E/flutter (20254): #8 RenderShiftedBox.hitTestChildren (package:flutter/src/rendering/shifted_box.dart:92:21)
E/flutter (20254): #9 RenderBox.hitTest (package:flutter/src/rendering/box.dart:2511:11)
E/flutter (20254): #10 RenderShiftedBox.hitTestChildren. (package:flutter/src/rendering/shifted_box.dart:97:25)
E/flutter (20254): #11 BoxHitTestResult.addWithPaintOffset (package:flutter/src/rendering/box.dart:805:31)
E/flutter (20254): #12 RenderShiftedBox.hitTestChildren (package:flutter/src/rendering/shifted_box.dart:92:21)
E/flutter (20254): #13 RenderBox.hitTest (package:flutter/src/rendering/box.dart:2511:11)
E/flutter (20254): #14 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:135:19)
E/flutter (20254): #15 RenderBox.hitTest (package:flutter/src/rendering/box.dart:2511:11)
E/flutter (20254): #16 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:135:19)
E/flutter (20254): #17 RenderBox.hitTest (package:flutter/src/rendering/box.dart:2511:11)
E/flutter (20254): #18 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:135:19)
E/flutter (20254): #19 RenderBox.hitTest (package:flutter/src/rendering/box.dart:2511:11)
E/flutter (20254): #20 RenderIgnorePointer.hitTest (package:flutter/src/rendering/proxy_box.dart:3618:31)
E/flutter (20254): #21 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:135:19)
E/flutter (20254): #22 RenderTransform.hitTestChildren. (package:flutter/src/rendering/proxy_box.dart:2590:22)
E/flutter (20254): #23 BoxHitTestResult.addWithRawTransform (package:flutter/src/rendering/box.dart:844:31)
E/flutter (20254): #24 BoxHitTestResult.addWithPaintTransform (package:flutter/src/rendering/box.dart:769:12)
E/flutter (20254): #25 RenderTransform.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:2586:19)
E/flutter (20254): #26 RenderTransform.hitTest (package:flutter/src/rendering/proxy_box.dart:2580:12)
E/flutter (20254): #27 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:135:19)
E/flutter (20254): #28 RenderBox.hitTest (package:flutter/src/rendering/box.dart:2511:11)
E/flutter (20254): #29 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:135:19)
E/flutter (20254): #30 RenderBox.hitTest (package:flutter/src/rendering/box.dart:2511:11)
E/flutter (20254): #31 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:135:19)
E/flutter (20254): #32 _RenderFocusTrap.hitTest (package:flutter/src/widgets/routes.dart:2217:19)
E/flutter (20254): #33 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:135:19)
E/flutter (20254): #34 RenderBox.hitTest (package:flutter/src/rendering/box.dart:2511:11)
E/flutter (20254): #35 RenderProxyBo
E/flutter (20254): [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: Cannot hit test a render box with no size.
E/flutter (20254): The hitTest() method was called on this RenderBox: RenderConstrainedBox#d3c76 relayoutBoundary=up1:
E/flutter (20254): creator: ConstrainedBox ← Align ← MediaQuery ← Padding ← AnimatedPadding ← Dialog ← AlertDialog ← MediaQuery ← Padding ← DisplayFeatureSubScreen ← Semantics ← Builder ← ⋯
E/flutter (20254): parentData: offset=Offset(0.0, 0.0) (can use size)
E/flutter (20254): constraints: BoxConstraints(0.0<=w<=292.0, 0.0<=h<=642.7)
E/flutter (20254): size: MISSING
E/flutter (20254): additionalConstraints: BoxConstraints(280.0<=w<=Infinity, 0.0<=h<=Infinity)
E/flutter (20254): Although this node is not marked as needing layout, its size is not set.
E/flutter (20254): A RenderBox object must have an explicit size before it can be hit-tested. Make sure that the RenderBox in question sets its size during layout.
E/flutter (20254): #0 RenderBox.hitTest. (package:flutter/src/rendering/box.dart:2494:9)
E/flutter (20254): #1 RenderBox.hitTest (package:flutter/src/rendering/box.dart:2509:6)
E/flutter (20254): #2 RenderShiftedBox.hitTestChildren. (package:flutter/src/rendering/shifted_box.dart:97:25)
E/flutter (20254): #3 BoxHitTestResult.addWithPaintOffset (package:flutter/src/rendering/box.dart:805:31)
E/flutter (20254): #4 RenderShiftedBox.hitTestChildren (package:flutter/src/rendering/shifted_box.dart:92:21)
E/flutter (20254): #5 RenderBox.hitTest (package:flutter/src/rendering/box.dart:2511:11)
E/flutter (20254): #6 RenderShiftedBox.hitTestChildren. (package:flutter/src/rendering/shifted_box.dart:97:25)
E/flutter (20254): #7 BoxHitTestResult.addWithPaintOffset (package:flutter/src/rendering/box.dart:805:31)
E/flutter (20254): #8 RenderShiftedBox.hitTestChildren (package:flutter/src/rendering/shifted_box.dart:92:21)
E/flutter (20254): #9 RenderBox.hitTest (package:flutter/src/rendering/box.dart:2511:11)
E/flutter (20254): #10 RenderShiftedBox.hitTestChildren. (package:flutter/src/rendering/shifted_box.dart:97:25)
E/flutter (20254): #11 BoxHitTestResult.addWithPaintOffset (package:flutter/src/rendering/box.dart:805:31)
E/flutter (20254): #12 RenderShiftedBox.hitTestChildren (package:flutter/src/rendering/shifted_box.dart:92:21)
E/flutter (20254): #13 RenderBox.hitTest (package:flutter/src/rendering/box.dart:2511:11)
E/flutter (20254): #14 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:135:19)
E/flutter (20254): #15 RenderBox.hitTest (package:flutter/src/rendering/box.dart:2511:11)
E/flutter (20254): #16 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:135:19)
E/flutter (20254): #17 RenderBox.hitTest (package:flutter/src/rendering/box.dart:2511:11)
E/flutter (20254): #18 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:135:19)
E/flutter (20254): #19 RenderBox.hitTest (package:flutter/src/rendering/box.dart:2511:11)
E/flutter (20254): #20 RenderIgnorePointer.hitTest (package:flutter/src/rendering/proxy_box.dart:3618:31)
E/flutter (20254): #21 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:135:19)
E/flutter (20254): #22 RenderTransform.hitTestChildren. (package:flutter/src/rendering/proxy_box.dart:2590:22)
E/flutter (20254): #23 BoxHitTestResult.addWithRawTransform (package:flutter/src/rendering/box.dart:844:31)
E/flutter (20254): #24 BoxHitTestResult.addWithPaintTransform (package:flutter/src/rendering/box.dart:769:12)
E/flutter (20254): #25 RenderTransform.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:2586:19)
E/flutter (20254): #26 RenderTransform.hitTest (package:flutter/src/rendering/proxy_box.dart:2580:12)
E/flutter (20254): #27 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:135:19)
E/flutter (20254): #28 RenderBox.hitTest (package:flutter/src/rendering/box.dart:2511:11)
E/flutter (20254): #29 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:135:19)
E/flutter (20254): #30 RenderBox.hitTest (package:flutter/src/rendering/box.dart:2511:11)
E/flutter (20254): #31 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:135:19)
E/flutter (20254): #32 _RenderFocusTrap.hitTest (package:flutter/src/widgets/routes.dart:2217:19)
E/flutter (20254): #33 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:135:19)
E/flutter (20254): #34 RenderBox.hitTest (package:flutter/src/rendering/box.dart:2511:11)
E/flutter (20254): #35 RenderProxyBo
Additional info:
A picture of a cute animal (not mandatory but encouraged)