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

[Mobile] Exception thrown ("targetChild should not be null") when deleting highlighted text #348

Closed
adamkoch opened this issue Aug 16, 2021 · 15 comments

Comments

@adamkoch
Copy link

adamkoch commented Aug 16, 2021

Environment:

  • Flutter 2.2.3 • channel stable
  • flutter_quill: ^1.9.1

Repro steps:

  • Open flutter-quill editor in an app on iOS simulator (i have yet to check on a real iPhone as I don't have one available right now)
  • type out some text, then select all the text
  • choose "cut" or hit delete to remove the highlighted text
  • see targetChild should not be null exception as per below

Appreciate the awesome library and the work you do on it, thank you!

The following message was thrown building _TextSelectionHandleOverlay(dirty, dependencies: [_InheritedCupertinoTheme, _EffectiveTickerMode], state: _TextSelectionHandleOverlayState#421eb(ticker inactive)):
targetChild should not be null

The relevant error-causing widget was: 
  MaterialApp file:///Users/adam/src/app/lib/screens/root.dart:192:12
When the exception was thrown, this was the stack: 
#0      RenderEditableContainerBox.childAtPosition (package:flutter_quill/src/widgets/editor.dart:1140:7)
#1      RenderEditor.preferredLineHeight (package:flutter_quill/src/widgets/editor.dart:989:19)
#2      _TextSelectionHandleOverlayState.build (package:flutter_quill/src/widgets/text_selection.dart:447:45)
#3      StatefulElement.build (package:flutter/src/widgets/framework.dart:4691:27)
#4      ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4574:15)
...
====================================================================================================
@singerdmx
Copy link
Owner

@li3317 could you take a look please?

@Random72IsTaken
Copy link

Random72IsTaken commented Oct 7, 2021

Error log ════════ Exception caught by widgets library ═══════════════════════════════════ The following message was thrown building _TextSelectionHandleOverlay(dirty, dependencies: [_InheritedTheme, _EffectiveTickerMode, _LocalizationsScope-[GlobalKey#2e061]], state: _TextSelectionHandleOverlayState#e2c98(ticker inactive)): targetChild should not be null

The relevant error-causing widget was
GetMaterialApp
lib\main.dart:31
When the exception was thrown, this was the stack
#0 RenderEditableContainerBox.childAtPosition
package:flutter_quill/…/widgets/editor.dart:1145
#1 RenderEditor.preferredLineHeight
package:flutter_quill/…/widgets/editor.dart:994
#2 _TextSelectionHandleOverlayState.build
package:flutter_quill/…/widgets/text_selection.dart:451
#3 StatefulElement.build
package:flutter/…/widgets/framework.dart:4782
#4 ComponentElement.performRebuild
package:flutter/…/widgets/framework.dart:4665
#21 ComponentElement.performRebuild
package:flutter/…/widgets/framework.dart:4690
#22 StatefulElement.performRebuild
package:flutter/…/widgets/framework.dart:4840
#23 Element.rebuild
package:flutter/…/widgets/framework.dart:4355
#24 BuildOwner.buildScope
package:flutter/…/widgets/framework.dart:2620
#25 WidgetsBinding.drawFrame
package:flutter/…/widgets/binding.dart:882
#26 RendererBinding._handlePersistentFrameCallback
package:flutter/…/rendering/binding.dart:319
#27 SchedulerBinding._invokeFrameCallback
package:flutter/…/scheduler/binding.dart:1143
#28 SchedulerBinding.handleDrawFrame
package:flutter/…/scheduler/binding.dart:1080
#29 SchedulerBinding._handleDrawFrame
package:flutter/…/scheduler/binding.dart:996
#33 _invoke (dart:ui/hooks.dart:166:10)
#34 PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:270:5)
#35 _drawFrame (dart:ui/hooks.dart:129:31)
(elided 3 frames from dart:async)

@pandazed
Copy link

Just want to confirm that I have the same exception

My logs
Non-fatal Exception: io.flutter.plugins.firebase.crashlytics.FlutterError: targetChild should not be null. Error thrown Instance of 'ErrorDescription'.
     at RenderEditableContainerBox.childAtPosition(RenderEditableContainerBox.java:1148)
     at RenderEditableTextBlock.preferredLineHeight(RenderEditableTextBlock.java:443)
     at _TextSelectionHandleOverlayState.build(_TextSelectionHandleOverlayState.java:451)
     at StatefulElement.build(StatefulElement.java:4782)
     at ComponentElement.performRebuild(ComponentElement.java:4665)
     at StatefulElement.performRebuild(StatefulElement.java:4840)
     at Element.rebuild(Element.java:4355)
     at StatefulElement.update(StatefulElement.java:4872)
     at Element.updateChild(Element.java:3412)
     at ComponentElement.performRebuild(ComponentElement.java:4690)
     at Element.rebuild(Element.java:4355)
     at StatelessElement.update(StatelessElement.java:4746)
     at Element.updateChild(Element.java:3412)
     at ComponentElement.performRebuild(ComponentElement.java:4690)
     at Element.rebuild(Element.java:4355)
     at ProxyElement.update(ProxyElement.java:5020)
     at Element.updateChild(Element.java:3412)
     at ComponentElement.performRebuild(ComponentElement.java:4690)
     at Element.rebuild(Element.java:4355)
     at StatelessElement.update(StatelessElement.java:4746)
     at Element.updateChild(Element.java:3412)
     at ComponentElement.performRebuild(ComponentElement.java:4690)
     at StatefulElement.performRebuild(StatefulElement.java:4840)
     at Element.rebuild(Element.java:4355)
     at BuildOwner.buildScope(BuildOwner.java:2620)
     at WidgetsBinding.drawFrame(WidgetsBinding.java:882)
     at RendererBinding._handlePersistentFrameCallback(RendererBinding.java:319)
     at SchedulerBinding._invokeFrameCallback(SchedulerBinding.java:1143)
     at SchedulerBinding.handleDrawFrame(SchedulerBinding.java:1080)
     at SchedulerBinding._handleDrawFrame(SchedulerBinding.java:996)

@ibhanu
Copy link

ibhanu commented Oct 26, 2021

Happening in iOS physical device

Error Log:
flutter: The following message was thrown during paint():
flutter: targetChild should not be null
flutter:
flutter: The relevant error-causing widget was:
flutter:   _Editor-[GlobalKey#596bc]
flutter:   _Editor:file:///Users/harshabandi/.pub-cache/hosted/pub.dartlang.org/flutter_quill-2.0.11/lib/src/widgets/raw_editor.dart:183:20
flutter:
flutter: When the exception was thrown, this was the stack:
flutter: #0      RenderEditableContainerBox.childAtPosition (package:flutter_quill/src/widgets/editor.dart:1198:7)
flutter: #1      RenderEditor._getOffsetForCaret (package:flutter_quill/src/widgets/editor.dart:741:19)
flutter: #2      RenderEditor._updateSelectionExtentsVisibility (package:flutter_quill/src/widgets/editor.dart:717:25)
flutter: #3      RenderEditor.paint (package:flutter_quill/src/widgets/editor.dart:1010:5)
flutter: #4      RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2409:7)
flutter: #5      PaintingContext.paintChild (package:flutter/src/rendering/object.dart:189:13)
flutter: #6      RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:140:15)
flutter: #7      PaintingContext.pushLayer (package:flutter/src/rendering/object.dart:398:12)
flutter: #8      RenderLeaderLayer.paint (package:flutter/src/rendering/proxy_box.dart:5131:13)
flutter: #9      RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2409:7)
flutter: #10     PaintingContext.paintChild (package:flutter/src/rendering/object.dart:189:13)
flutter: #11     _RenderSingleChildViewport.paint.paintContents (package:flutter_quill/src/widgets/quill_single_child_scroll_view.dart:251:17)
flutter: #12     _RenderSingleChildViewport.paint (package:flutter_quill/src/widgets/quill_single_child_scroll_view.dart:264:9)
flutter: #13     RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2409:7)
flutter: #14     PaintingContext._repaintCompositedChild (package:flutter/src/rendering/object.dart:141:11)
flutter: #15     PaintingContext.repaintCompositedChild (package:flutter/src/rendering/object.dart:100:5)
flutter: #16     PaintingContext._compositeChild (package:flutter/src/rendering/object.dart:206:7)
flutter: #17     PaintingContext.paintChild (package:flutter/src/rendering/object.dart:187:7)
flutter: #18     RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:140:15)
flutter: #19     RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2409:7)
flutter: #20     PaintingContext.paintChild (package:flutter/src/rendering/object.dart:189:13)
flutter: #21     RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:140:15)
flutter: #22     RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2409:7)
flutter: #23     PaintingContext.paintChild (package:flutter/src/rendering/object.dart:189:13)
flutter: #24     RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:140:15)
flutter: #25     RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2409:7)
flutter: #26     PaintingContext.paintChild (package:flutter/src/rendering/object.dart:189:13)
flutter: #27     RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:140:15)
flutter: #28     RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2409:7)
flutter: #29     PaintingContext.paintChild (package:flutter/src/rendering/object.dart:189:13)
flutter: #30     RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:140:15)
flutter: #31     RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2409:7)
flutter: #32     PaintingContext.paintChild (package:flutter/src/rendering/object.dart:189:13)
flutter: #33     RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:140:15)
flutter: #34     RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2409:7)
flutter: #35     PaintingContext.paintChild (package:flutter/src/rendering/object.dart:189:13)
flutter: #36     RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:140:15)
flutter: #37     RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2409:7)
flutter: #38     PaintingContext.paintChild (package:flutter/src/rendering/object.dart:189:13)
flutter: #39     RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:140:15)
flutter: #40     RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2409:7)
flutter: #41     PaintingContext.paintChild (package:flutter/src/rendering/object.dart:189:13)
flutter: #42     RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:140:15)
flutter: #43     RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2409:7)
flutter: #44     PaintingContext.paintChild (package:flutter/src/rendering/object.dart:189:13)
flutter: #45     RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:140:15)
flutter: #46     RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2409:7)
flutter: #47     PaintingContext.paintChild (package:flutter/src/rendering/object.dart:189:13)
flutter: #48     RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:140:15)
flutter: #49     RenderDecoratedBox.paint (package:flutter/src/rendering/proxy_box.dart:2181:11)
flutter: #50     RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2409:7)
flutter: #51     PaintingContext.paintChild (package:flutter/src/rendering/object.dart:189:13)
flutter: #52     RenderShiftedBox.paint (package:flutter/src/rendering/shifted_box.dart:79:15)
flutter: #53     RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2409:7)
flutter: #54     PaintingContext.paintChild (package:flutter/src/rendering/object.dart:189:13)
flutter: #55     RenderBoxContainerDefaultsMixin.defaultPaint (package:flutter/src/rendering/box.dart:2794:15)
flutter: #56     RenderFlex.paint (package:flutter/src/rendering/flex.dart:1078:7)
flutter: #57     RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2409:7)
flutter: #58     PaintingContext.paintChild (package:flutter/src/rendering/object.dart:189:13)
flutter: #59     RenderBoxContainerDefaultsMixin.defaultPaint (package:flutter/src/rendering/box.dart:2794:15)
flutter: #60     RenderCustomMultiChildLayoutBox.paint (package:flutter/src/rendering/custom_layout.dart:409:5)
flutter: #61     RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2409:7)
flutter: #62     PaintingContext.paintChild (package:flutter/src/rendering/object.dart:189:13)
flutter: #63     RenderBoxContainerDefaultsMixin.defaultPaint (package:flutter/src/rendering/box.dart:2794:15)
flutter: #64     RenderCustomMultiChildLayoutBox.paint (package:flutter/src/rendering/custom_layout.dart:409:5)
flutter: #65     RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2409:7)
flutter: #66     PaintingContext.paintChild (package:flutter/src/rendering/object.dart:189:13)
flutter: #67     RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:140:15)
flutter: #68     _RenderInkFeatures.paint (package:flutter/src/material/material.dart:553:11)
flutter: #69     RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2409:7)
flutter: #70     PaintingContext.paintChild (package:flutter/src/rendering/object.dart:189:13)
flutter: #71     RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:140:15)
flutter: #72     PaintingContext.pushLayer (package:flutter/src/rendering/object.dart:398:12)
flutter: #73     RenderPhysicalModel.paint (package:flutter/src/rendering/proxy_box.dart:1941:15)
flutter: #74     RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2409:7)
flutter: #75     PaintingContext.paintChild (package:flutter/src/rendering/object.dart:189:13)
flutter: #76     RenderShiftedBox.paint (package:flutter/src/rendering/shifted_box.dart:79:15)
flutter: #77     RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2409:7)
flutter: #78     PaintingContext.paintChild (package:flutter/src/rendering/object.dart:189:13)
flutter: #79     RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:140:15)
flutter: #80     RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2409:7)
flutter: #81     PaintingContext.paintChild (package:flutter/src/rendering/object.dart:189:13)
flutter: #82     RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:140:15)
flutter: #83     RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2409:7)
flutter: #84     PaintingContext._repaintCompositedChild (package:flutter/src/rendering/object.dart:141:11)
flutter: #85     PaintingContext.repaintCompositedChild (package:flutter/src/rendering/object.dart:100:5)
flutter: #86     PaintingContext._compositeChild (package:flutter/src/rendering/object.dart:206:7)
flutter: #87     PaintingContext.paintChild (package:flutter/src/rendering/object.dart:187:7)
flutter: #88     RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:140:15)
flutter: #89     RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2409:7)
flutter: #90     PaintingContext.paintChild (package:flutter/src/rendering/object.dart:189:13)
flutter: #91     RenderBoxContainerDefaultsMixin.defaultPaint (package:flutter/src/rendering/box.dart:2794:15)
flutter: #92     RenderStack.paintStack (package:flutter/src/rendering/stack.dart:629:5)
flutter: #93     RenderStack.paint (package:flutter/src/rendering/stack.dart:645:7)
flutter: #94     RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2409:7)
flutter: #95     PaintingContext.paintChild (package:flutter/src/rendering/object.dart:189:13)
flutter: #96     RenderBoxContainerDefaultsMixin.defaultPaint (package:flutter/src/rendering/box.dart:2794:15)
flutter: #97     RenderStack.paintStack (package:flutter/src/rendering/stack.dart:629:5)
flutter: #98     RenderStack.paint (package:flutter/src/rendering/stack.dart:645:7)
flutter: #99     RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2409:7)
flutter: #100    PaintingContext.paintChild (package:flutter/src/rendering/object.dart:189:13)
flutter: #101    RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:140:15)
flutter: #102    RenderDecoratedBox.paint (package:flutter/src/rendering/proxy_box.dart:2181:11)
flutter: #103    RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2409:7)
flutter: #104    PaintingContext.paintChild (package:flutter/src/rendering/object.dart:189:13)
flutter: #105    RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:140:15)
flutter: #106    RenderFractionalTranslation.paint (package:flutter/src/rendering/proxy_box.dart:2776:13)
flutter: #107    RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2409:7)
flutter: #108    PaintingContext.paintChild (package:flutter/src/rendering/object.dart:189:13)
flutter: #109    RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:140:15)
flutter: #110    RenderFractionalTranslation.paint (package:flutter/src/rendering/proxy_box.dart:2776:13)
flutter: #111    RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2409:7)
flutter: #112    PaintingContext.paintChild (package:flutter/src/rendering/object.dart:189:13)
flutter: #113    RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:140:15)
flutter: #114    RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2409:7)
flutter: #115    PaintingContext._repaintCompositedChild (package:flutter/src/rendering/object.dart:141:11)
flutter: #116    PaintingContext.repaintCompositedChild (package:flutter/src/rendering/object.dart:100:5)
flutter: #117    PaintingContext._compositeChild (package:flutter/src/rendering/object.dart:206:7)
flutter: #118    PaintingContext.paintChild (package:flutter/src/rendering/object.dart:187:7)
flutter: #119    RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:140:15)
flutter: #120    RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2409:7)
flutter: #121    PaintingContext.paintChild (package:flutter/src/rendering/object.dart:189:13)
flutter: #122    RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:140:15)
flutter: #123    RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2409:7)
flutter: #124    PaintingContext.paintChild (package:flutter/src/rendering/object.dart:189:13)
flutter: #125    RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:140:15)
flutter: #126    RenderOffstage.paint (package:flutter/src/rendering/proxy_box.dart:3435:11)
flutter: #127    RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2409:7)
flutter: #128    PaintingContext.paintChild (package:flutter/src/rendering/object.dart:189:13)
flutter: #129    RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:140:15)
flutter: #130    RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2409:7)
flutter: #131    PaintingContext.paintChild (package:flutter/src/rendering/object.dart:189:13)
flutter: #132    _RenderTheatre.paintStack (package:flutter/src/widgets/overlay.dart:782:15)
flutter: #133    _RenderTheatre.paint (package:flutter/src/widgets/overlay.dart:800:7)
flutter: #134    RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2409:7)
flutter: #135    PaintingContext.paintChild (package:flutter/src/rendering/object.dart:189:13)
flutter: #136    RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:140:15)
flutter: #137    RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2409:7)
flutter: #138    PaintingContext.paintChild (package:flutter/src/rendering/object.dart:189:13)
flutter: #139    RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:140:15)
flutter: #140    RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2409:7)
flutter: #141    PaintingContext.paintChild (package:flutter/src/rendering/object.dart:189:13)
flutter: #142    RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:140:15)
flutter: #143    RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2409:7)
flutter: #144    PaintingContext.paintChild (package:flutter/src/rendering/object.dart:189:13)
flutter: #145    RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:140:15)
flutter: #146    RenderCustomPaint.paint (package:flutter/src/rendering/custom_paint.dart:608:11)
flutter: #147    RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2409:7)
flutter: #148    PaintingContext.paintChild (package:flutter/src/rendering/object.dart:189:13)
flutter: #149    RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:140:15)
flutter: #150    RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2409:7)
flutter: #151    PaintingContext.paintChild (package:flutter/src/rendering/object.dart:189:13)
flutter: #152    RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:140:15)
flutter: #153    RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2409:7)
flutter: #154    PaintingContext.paintChild (package:flutter/src/rendering/object.dart:189:13)
flutter: #155    RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:140:15)
flutter: #156    RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2409:7)
flutter: #157    PaintingContext.paintChild (package:flutter/src/rendering/object.dart:189:13)
flutter: #158    RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:140:15)
flutter: #159    RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2409:7)
flutter: #160    PaintingContext.paintChild (package:flutter/src/rendering/object.dart:189:13)
flutter: #161    RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:140:15)
flutter: #162    RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2409:7)
flutter: #163    PaintingContext.paintChild (package:flutter/src/rendering/object.dart:189:13)
flutter: #164    RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:140:15)
flutter: #165    RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2409:7)
flutter: #166    PaintingContext.paintChild (package:flutter/src/rendering/object.dart:189:13)
flutter: #167    RenderView.paint (package:flutter/src/rendering/view.dart:209:15)
flutter: #168    RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2409:7)
flutter: #169    PaintingContext._repaintCompositedChild (package:flutter/src/rendering/object.dart:141:11)
flutter: #170    PaintingContext.repaintCompositedChild (package:flutter/src/rendering/object.dart:100:5)
flutter: #171    PipelineOwner.flushPaint (package:flutter/src/rendering/object.dart:979:29)
flutter: #172    RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:455:19)
flutter: #173    WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:883:13)
flutter: #174    RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:319:5)
flutter: #175    SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1143:15)
flutter: #176    SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1080:9)
flutter: #177    SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:996:5)
flutter: #181    _invoke (dart:ui/hooks.dart:166:10)
flutter: #182    PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:270:5)
flutter: #183    _drawFrame (dart:ui/hooks.dart:129:31)
flutter: (elided 3 frames from dart:async)
flutter:
flutter: The following RenderObject was being processed when the exception was fired: RenderEditor#b3f06 relayoutBoundary=up2:
flutter:   creator: _Editor-[GlobalKey#596bc] ← CompositedTransformTarget ← _SingleChildViewport ←
flutter:     IgnorePointer-[GlobalKey#cba69] ← Semantics ← Listener ← _GestureSemantics ←
flutter:     RawGestureDetector-[LabeledGlobalKey<RawGestureDetectorState>#e9ad4] ← Listener ← _ScrollableScope
flutter:     ← _ScrollSemantics-[GlobalKey#f978a] ← Scrollable ← ⋯
flutter:   parentData: <none> (can use size)
flutter:   constraints: BoxConstraints(w=408.0, 0.0<=h<=Infinity)
flutter:   size: Size(408.0, 50.0)
flutter: This RenderObject had the following descendants (showing up to depth 5):
flutter:     child 1: RenderEditableTextLine#ffdb0 relayoutBoundary=up3
flutter:       body: RenderParagraphProxy#22bd4 relayoutBoundary=up4
flutter:         child: RenderParagraph#e633d relayoutBoundary=up5
flutter:           text: TextSpan
flutter:             TextSpan

@ibhanu
Copy link

ibhanu commented Nov 2, 2021

Another way of how I solved the problem was by removing placeholder!

@ggirotto
Copy link
Contributor

ggirotto commented Nov 4, 2021

I can confirm this happens when adding a placeholder to the editor.

@apoleo88
Copy link

apoleo88 commented Nov 4, 2021

I encountered this error when I added placeholder to QuillEditor

QuillEditor(
  controller: contentQuillController,
  scrollController: ScrollController(),
  scrollable: true,
  focusNode: FocusNode(),
  readOnly: false,
  autoFocus: false,
  expands: false,
  placeholder: "Description",
  padding: EdgeInsets.all(2)
)
Exception log: ``` ======= Exception caught by rendering library ========== The following message was thrown during paint(): targetChild should not be null

The relevant error-causing widget was:
QuillEditor QuillEditor:/lib/page/edit.dart:366:38
When the exception was thrown, this was the stack:
#0 RenderEditableContainerBox.childAtPosition (package:flutter_quill/src/widgets/editor.dart:1198:7)
#1 RenderEditor._getOffsetForCaret (package:flutter_quill/src/widgets/editor.dart:741:19)
#2 RenderEditor._updateSelectionExtentsVisibility (package:flutter_quill/src/widgets/editor.dart:717:25)
#3 RenderEditor.paint (package:flutter_quill/src/widgets/editor.dart:1010:5)
#4 RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2409:7)
#5 PaintingContext.paintChild (package:flutter/src/rendering/object.dart:189:13)
#6 RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:140:15)
#7 PaintingContext.pushLayer (package:flutter/src/rendering/object.dart:398:12)
#8 RenderLeaderLayer.paint (package:flutter/src/rendering/proxy_box.dart:5131:13)
#9 RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2409:7)
#10 PaintingContext.paintChild (package:flutter/src/rendering/object.dart:189:13)
#11 _RenderSingleChildViewport.paint.paintContents (package:flutter_quill/src/widgets/quill_single_child_scroll_view.dart:251:17)
#12 _RenderSingleChildViewport.paint (package:flutter_quill/src/widgets/quill_single_child_scroll_view.dart:264:9)
#13 RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2409:7)
#14 PaintingContext._repaintCompositedChild (package:flutter/src/rendering/object.dart:141:11)
#15 PaintingContext.repaintCompositedChild (package:flutter/src/rendering/object.dart:100:5)
#16 PipelineOwner.flushPaint (package:flutter/src/rendering/object.dart:979:29)
#17 RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:455:19)
#18 WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:883:13)
#19 RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:319:5)
#20 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1143:15)
#21 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1080:9)
#22 SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:996:5)
#26 _invoke (dart:ui/hooks.dart:166:10)
#27 PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:270:5)
#28 _drawFrame (dart:ui/hooks.dart:129:31)
(elided 3 frames from dart:async)
The following RenderObject was being processed when the exception was fired: RenderEditor#298a6 relayoutBoundary=up37
... needs compositing
... parentData: (can use size)
... constraints: BoxConstraints(0.0<=w<=292.0, 0.0<=h<=Infinity)
... size: Size(292.0, 34.0)
RenderObject: RenderEditor#298a6 relayoutBoundary=up37
needs compositing
parentData: (can use size)
constraints: BoxConstraints(0.0<=w<=292.0, 0.0<=h<=Infinity)
size: Size(292.0, 34.0)

</details>

@Hamza5
Copy link

Hamza5 commented Nov 4, 2021

This error happens on the Web too, when the QuillEditor has placeholder text set.

Any workaround to get rid of this exception without removing the placeholder text? It is very useful and I don't want to remove it.

@TaiTrien
Copy link

Any solutions? I meet the same issue

@ysyfff
Copy link

ysyfff commented Nov 15, 2021

meet the same issue with placeholder

1 similar comment
@WingCH
Copy link

WingCH commented Nov 15, 2021

meet the same issue with placeholder

@sonysm
Copy link

sonysm commented Nov 18, 2021

I face this problem too when adding placeholder
Any solution please?

@TaiTrien
Copy link

Hi guys,
In my case, I realized that the error just come with the simulators. I tried it on my real device and it worked

@MagTuxGit
Copy link
Contributor

I did the next fix
MagTuxGit@28795c9
Is it ok?

@singerdmx
Copy link
Owner

I did the next fix

MagTuxGit@28795c9

Is it ok?

Please submit a PR

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests