CaTeX
CaTeX copied to clipboard
The RenderTree class does not implement "computeDryLayout"
Steps to Reproduce
- Run
flutter create bug
. - Update the files as follows:
import 'package:catex/catex.dart';
import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: MyHomePage(),
);
}
}
class MyHomePage extends StatefulWidget {
MyHomePage({Key key}) : super(key: key);
@override
_MyHomePageState createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
@override
Widget build(BuildContext context) {
return Scaffold(
body: Center(
child: IntrinsicHeight(
child: RichText(
text: TextSpan(
children: [
TextSpan(text: "testing: "),
WidgetSpan(
alignment: PlaceholderAlignment.middle,
child: CaTeX(
r"n > 0",
),
),
],
)),
),
),
);
}
}
pubspec.yaml:
dependencies:
flutter:
sdk: flutter
catex: ^0.0.1+8
- Run the app on a simulator.
Expected results: Render testing: n > 0 in the center of the page.
Actual results: Error message saying The RenderTree class does not implement "computeDryLayout".
Logs
[ +239 ms] Syncing files to device iPhone 7...
[ +5 ms] <- reset
[ ] Compiling dart to kernel with 0 updated files
[ +7 ms] <- recompile package:test_app/main.dart 04bfe32d-68ee-4c54-b69a-97e47992e218
[ ] <- 04bfe32d-68ee-4c54-b69a-97e47992e218
[ +111 ms]
══╡ EXCEPTION CAUGHT BY RENDERING LIBRARY ╞═════════════════════════════════════════════════════════
The following assertion was thrown during performLayout():
The RenderTree class does not implement "computeDryLayout".
If you are not writing your own RenderBox subclass, then this is not
your fault. Contact support: https://github.com/flutter/flutter/issues/new?template=2_bug.md
The relevant error-causing widget was:
IntrinsicHeight file:///Users/jonathan/Documents/src/apps/test_app/test_app/lib/main.dart:35:18
When the exception was thrown, this was the stack:
#0 RenderBox.debugCannotComputeDryLayout.<anonymous closure>
(package:flutter/src/rendering/box.dart:1918:9)
#1 RenderBox.debugCannotComputeDryLayout (package:flutter/src/rendering/box.dart:1922:6)
#2 RenderBox.computeDryLayout (package:flutter/src/rendering/box.dart:1878:12)
#3 RenderBox._computeDryLayout (package:flutter/src/rendering/box.dart:1835:26)
#4 RenderBox.getDryLayout.<anonymous closure> (package:flutter/src/rendering/box.dart:1824:68)
#5 _LinkedHashMapMixin.putIfAbsent (dart:collection-patch/compact_hash.dart:311:23)
#6 RenderBox.getDryLayout (package:flutter/src/rendering/box.dart:1824:37)
#7 RenderProxyBoxMixin.computeDryLayout (package:flutter/src/rendering/proxy_box.dart:110:21)
#8 RenderBox._computeDryLayout (package:flutter/src/rendering/box.dart:1835:26)
#9 RenderBox.getDryLayout.<anonymous closure> (package:flutter/src/rendering/box.dart:1824:68)
#10 _LinkedHashMapMixin.putIfAbsent (dart:collection-patch/compact_hash.dart:311:23)
#11 RenderBox.getDryLayout (package:flutter/src/rendering/box.dart:1824:37)
#12 RenderParagraph._computeChildrenHeightWithMinIntrinsics
(package:flutter/src/rendering/paragraph.dart:435:31)
#13 RenderParagraph._computeIntrinsicHeight (package:flutter/src/rendering/paragraph.dart:337:5)
#14 RenderParagraph.computeMaxIntrinsicHeight
(package:flutter/src/rendering/paragraph.dart:349:12)
#15 RenderBox._computeIntrinsicDimension.<anonymous closure>
(package:flutter/src/rendering/box.dart:1377:23)
#16 _LinkedHashMapMixin.putIfAbsent (dart:collection-patch/compact_hash.dart:311:23)
#17 RenderBox._computeIntrinsicDimension (package:flutter/src/rendering/box.dart:1375:42)
#18 RenderBox.getMaxIntrinsicHeight (package:flutter/src/rendering/box.dart:1747:12)
#19 RenderFlex.computeMaxIntrinsicHeight.<anonymous closure>
(package:flutter/src/rendering/flex.dart:635:60)
#20 RenderFlex._getIntrinsicSize (package:flutter/src/rendering/flex.dart:594:58)
#21 RenderFlex.computeMaxIntrinsicHeight (package:flutter/src/rendering/flex.dart:632:12)
#22 RenderBox._computeIntrinsicDimension.<anonymous closure>
(package:flutter/src/rendering/box.dart:1377:23)
#23 _LinkedHashMapMixin.putIfAbsent (dart:collection-patch/compact_hash.dart:311:23)
#24 RenderBox._computeIntrinsicDimension (package:flutter/src/rendering/box.dart:1375:42)
#25 RenderBox.getMaxIntrinsicHeight (package:flutter/src/rendering/box.dart:1747:12)
#26 RenderIntrinsicHeight._computeSize (package:flutter/src/rendering/proxy_box.dart:795:38)
#27 RenderIntrinsicHeight.performLayout (package:flutter/src/rendering/proxy_box.dart:815:12)
#28 RenderObject.layout (package:flutter/src/rendering/object.dart:1784:7)
#29 RenderPositionedBox.performLayout (package:flutter/src/rendering/shifted_box.dart:430:14)
#30 RenderObject.layout (package:flutter/src/rendering/object.dart:1784:7)
#31 MultiChildLayoutDelegate.layoutChild (package:flutter/src/rendering/custom_layout.dart:171:12)
#32 _ScaffoldLayout.performLayout (package:flutter/src/material/scaffold.dart:925:7)
#33 MultiChildLayoutDelegate._callPerformLayout
(package:flutter/src/rendering/custom_layout.dart:243:7)
#34 RenderCustomMultiChildLayoutBox.performLayout
(package:flutter/src/rendering/custom_layout.dart:407:14)
#35 RenderObject.layout (package:flutter/src/rendering/object.dart:1784:7)
#36 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:118:14)
#37 RenderObject.layout (package:flutter/src/rendering/object.dart:1784:7)
#38 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:118:14)
#39 _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1371:11)
#40 RenderObject.layout (package:flutter/src/rendering/object.dart:1784:7)
#41 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:118:14)
#42 RenderObject.layout (package:flutter/src/rendering/object.dart:1784:7)
#43 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:118:14)
#44 RenderObject.layout (package:flutter/src/rendering/object.dart:1784:7)
#45 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:118:14)
#46 RenderObject.layout (package:flutter/src/rendering/object.dart:1784:7)
#47 ChildLayoutHelper.layoutChild (package:flutter/src/rendering/layout_helper.dart:54:11)
#48 RenderStack._computeSize (package:flutter/src/rendering/stack.dart:570:43)
#49 RenderStack.performLayout (package:flutter/src/rendering/stack.dart:597:12)
#50 RenderObject.layout (package:flutter/src/rendering/object.dart:1784:7)
#51 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:118:14)
#52 RenderObject.layout (package:flutter/src/rendering/object.dart:1784:7)
#53 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:118:14)
#54 RenderObject.layout (package:flutter/src/rendering/object.dart:1784:7)
#55 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:118:14)
#56 RenderObject.layout (package:flutter/src/rendering/object.dart:1784:7)
#57 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:118:14)
#58 RenderObject.layout (package:flutter/src/rendering/object.dart:1784:7)
#59 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:118:14)
#60 RenderObject.layout (package:flutter/src/rendering/object.dart:1784:7)
#61 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:118:14)
#62 RenderOffstage.performLayout (package:flutter/src/rendering/proxy_box.dart:3362:13)
#63 RenderObject.layout (package:flutter/src/rendering/object.dart:1784:7)
#64 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:118:14)
#65 RenderObject.layout (package:flutter/src/rendering/object.dart:1784:7)
#66 _RenderTheatre.performLayout (package:flutter/src/widgets/overlay.dart:743:15)
#67 RenderObject.layout (package:flutter/src/rendering/object.dart:1784:7)
#68 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:118:14)
#69 RenderObject.layout (package:flutter/src/rendering/object.dart:1784:7)
#70 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:118:14)
#71 RenderObject.layout (package:flutter/src/rendering/object.dart:1784:7)
#72 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:118:14)
#73 RenderObject.layout (package:flutter/src/rendering/object.dart:1784:7)
#74 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:118:14)
#75 RenderCustomPaint.performLayout (package:flutter/src/rendering/custom_paint.dart:546:11)
#76 RenderObject.layout (package:flutter/src/rendering/object.dart:1784:7)
#77 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:118:14)
#78 RenderObject.layout (package:flutter/src/rendering/object.dart:1784:7)
#79 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:118:14)
#80 RenderObject.layout (package:flutter/src/rendering/object.dart:1784:7)
#81 RenderView.performLayout (package:flutter/src/rendering/view.dart:153:14)
#82 RenderObject._layoutWithoutResize (package:flutter/src/rendering/object.dart:1641:7)
#83 PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:884:18)
#84 RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:453:19)
#85 WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:874:13)
#86 RendererBinding._handlePersistentFrameCallback
(package:flutter/src/rendering/binding.dart:319:5)
#87 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1144:15)
#88 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1082:9)
#89 SchedulerBinding.scheduleWarmUpFrame.<anonymous closure>
(package:flutter/src/scheduler/binding.dart:865:7)
(elided 11 frames from class _RawReceivePortImpl, class _Timer, dart:async, and dart:async-patch)
The following RenderObject was being processed when the exception was fired:
RenderIntrinsicHeight#078c9
relayoutBoundary=up2 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE:
creator: IntrinsicHeight ← Container ← Center ← _BodyBuilder ← MediaQuery ←
LayoutId-[<_ScaffoldSlot.body>] ← CustomMultiChildLayout ← AnimatedBuilder ← DefaultTextStyle ←
AnimatedDefaultTextStyle ← _InkFeatures-[GlobalKey#ba4ca ink renderer] ←
NotificationListener<LayoutChangedNotification> ← ⋯
parentData: offset=Offset(0.0, 0.0) (can use size)
constraints: BoxConstraints(0.0<=w<=375.0, 0.0<=h<=667.0)
size: MISSING
This RenderObject had the following descendants (showing up to depth 5):
child: RenderFlex#68de8 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
child 1: RenderParagraph#76c4f NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
text: TextSpan
TextSpan
TextSpan
WidgetSpan#bb6a1
════════════════════════════════════════════════════════════════════════════════════════════════════
[ +30 ms]
Another exception was thrown: 'package:flutter/src/rendering/shifted_box.dart': Failed assertion: line 341 pos
12:
'child!.hasSize': is not true.
[ +176 ms] Updating files.
[ ] DevFS: Sync finished
[ +3 ms] Syncing files to device iPhone 7... (completed in 333ms)
[ +1 ms] Synced 0.0MB.
[ +2 ms] <- accept
[ +16 ms] Connected to _flutterView/0x7fcda4027620.
[ +4 ms] Flutter run key commands.
[ +4 ms] r Hot reload. 🔥🔥🔥
[ +3 ms] R Hot restart.
[ ] h Repeat this help message.
[ ] d Detach (terminate "flutter run" but leave application running).
[ ] c Clear the screen
[ ] q Quit (terminate the application on the device).
[ ] An Observatory debugger and profiler on iPhone 7 is available at: http://127.0.0.1:62509/wHccPqIjt40=/
[ +1 ms]
Flutter DevTools, a Flutter debugger and profiler, on iPhone 7 is available at:
http://127.0.0.1:9102?uri=http%3A%2F%2F127.0.0.1%3A62509%2FwHccPqIjt40%3D%2F
[ ] Running with unsound null safety
[ ] For more information see https://dart.dev/null-safety/unsound-null-safety
[ +30 ms]
Another exception was thrown: Updated layout information required for RenderFlex#68de8 NEEDS-LAYOUT NEEDS-PAINT
to
calculate semantics.
[ +307 ms]
Another exception was thrown: Bad state: Future already completed
Analyzing test_app...
No issues found! (ran in 7.5s)
[✓] Flutter (Channel stable, 2.0.2, on Mac OS X 10.15.6 19G2021 darwin-x64, locale fr-FR)
• Flutter version 2.0.2 at /Users/jonathan/Documents/src/lib/flutter
• Framework revision 8962f6dc68 (il y a 2 semaines), 2021-03-11 13:22:20 -0800
• Engine revision 5d8bf811b3
• Dart version 2.12.1
[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
• Android SDK at /Users/jonathan/Library/Android/sdk
• Platform android-30, build-tools 30.0.2
• Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
• Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)
• All Android licenses accepted.
[✓] Xcode - develop for iOS and macOS
• Xcode at /Applications/Xcode.app/Contents/Developer
• Xcode 12.4, Build version 12D4e
• CocoaPods version 1.10.0
[✓] Chrome - develop for the web
• Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
[✓] Android Studio (version 4.0)
• Android Studio at /Applications/Android Studio.app/Contents
• Flutter plugin version 49.0.2
• Dart plugin version 193.7547
• Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)
[✓] VS Code (version 1.48.2)
• VS Code at /Applications/Visual Studio Code.app/Contents
• Flutter extension version 3.14.1
[✓] Connected device (2 available)
• iPhone 7 (mobile) • 6408E65B-14DF-4C98-813A-CB237B985CA5 • ios •
com.apple.CoreSimulator.SimRuntime.iOS-14-4 (simulator)
• Chrome (web) • chrome • web-javascript • unknown
• No issues found!
Hi 👋🏽 Thank you for opening your first issue with CaTeX ❤
The project is currently on-hold. See the README for further information.