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

When placing KeybaordActions widget inside an overlay, many render errors #197

Open
mark8044 opened this issue May 29, 2022 · 3 comments
Open

Comments

@mark8044
Copy link

Without the KeyboardActions widget everything is fine, but as soon as I add it in I get the following errors:

======== Exception caught by rendering library =====================================================
The following assertion was thrown during paint():
RenderBox was not laid out: RenderDecoratedBox#8e0ed relayoutBoundary=up2
'package:flutter/src/rendering/box.dart':
Failed assertion: line 1979 pos 12: 'hasSize'


Either the assertion indicates an error in the framework itself, or we should provide substantially more information in this error message to help you determine and fix the underlying cause.
In either case, please report this assertion by filing a bug on GitHub:
  https://github.com/flutter/flutter/issues/new?template=2_bug.md

The relevant error-causing widget was: 
  Container-[#cf724] Container:file:///...dropdown_button.dart:106:7
When the exception was thrown, this was the stack: 
#2      RenderBox.size (package:flutter/src/rendering/box.dart:1979:12)
#3      RenderDecoratedBox.paint (package:flutter/src/rendering/proxy_box.dart:2162:12)
#4      RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2477:7)
#5      PaintingContext.paintChild (package:flutter/src/rendering/object.dart:187:13)
#6      RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:140:15)
#7      RenderTransform.paint (package:flutter/src/rendering/proxy_box.dart:2419:17)
#8      RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2477:7)
#9      PaintingContext.paintChild (package:flutter/src/rendering/object.dart:187:13)
#10     RenderBoxContainerDefaultsMixin.defaultPaint (package:flutter/src/rendering/box.dart:2844:15)
#11     RenderStack.paintStack (package:flutter/src/rendering/stack.dart:611:5)
#12     RenderStack.paint (package:flutter/src/rendering/stack.dart:627:7)
#13     RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2477:7)
#14     PaintingContext.paintChild (package:flutter/src/rendering/object.dart:187:13)
#15     _RenderTheatre.paintStack (package:flutter/src/widgets/overlay.dart:786:15)
#16     _RenderTheatre.paint (package:flutter/src/widgets/overlay.dart:804:7)
#17     RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2477:7)
#18     PaintingContext.paintChild (package:flutter/src/rendering/object.dart:187:13)
#19     RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:140:15)
#20     RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2477:7)
#21     PaintingContext.paintChild (package:flutter/src/rendering/object.dart:187:13)
#22     RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:140:15)
#23     RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2477:7)
#24     PaintingContext.paintChild (package:flutter/src/rendering/object.dart:187:13)
#25     RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:140:15)
#26     RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2477:7)
#27     PaintingContext.paintChild (package:flutter/src/rendering/object.dart:187:13)
#28     RenderIndexedStack.paintStack (package:flutter/src/rendering/stack.dart:726:13)
#29     RenderStack.paint (package:flutter/src/rendering/stack.dart:627:7)
#30     RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2477:7)
#31     PaintingContext.paintChild (package:flutter/src/rendering/object.dart:187:13)
#32     RenderBoxContainerDefaultsMixin.defaultPaint (package:flutter/src/rendering/box.dart:2844:15)
#33     RenderCustomMultiChildLayoutBox.paint (package:flutter/src/rendering/custom_layout.dart:408:5)
#34     RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2477:7)
#35     PaintingContext.paintChild (package:flutter/src/rendering/object.dart:187:13)
#36     RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:140:15)
#37     _RenderInkFeatures.paint (package:flutter/src/material/material.dart:598:11)
#38     RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2477:7)
#39     PaintingContext.paintChild (package:flutter/src/rendering/object.dart:187:13)
#40     RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:140:15)
#41     PaintingContext.pushLayer (package:flutter/src/rendering/object.dart:387:12)
#42     RenderPhysicalModel.paint (package:flutter/src/rendering/proxy_box.dart:1951:15)
#43     RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2477:7)
#44     PaintingContext.paintChild (package:flutter/src/rendering/object.dart:187:13)
#45     RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:140:15)
#46     RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2477:7)
#47     PaintingContext.paintChild (package:flutter/src/rendering/object.dart:187:13)
#48     RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:140:15)
#49     RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2477:7)
#50     PaintingContext._repaintCompositedChild (package:flutter/src/rendering/object.dart:141:11)
#51     PaintingContext.repaintCompositedChild (package:flutter/src/rendering/object.dart:100:5)
#52     PipelineOwner.flushPaint (package:flutter/src/rendering/object.dart:995:29)
#53     RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:506:19)
#54     WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:892:13)
#55     RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:370:5)
#56     SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1146:15)
#57     SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1083:9)
#58     SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:997:5)
#62     _invoke (dart:ui/hooks.dart:151:10)
#63     PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:308:5)
#64     _drawFrame (dart:ui/hooks.dart:115:31)
(elided 5 frames from class _AssertionError and dart:async)
The following RenderObject was being processed when the exception was fired: RenderDecoratedBox#8e0ed relayoutBoundary=up2
...  needs compositing
...  parentData: <none> (can use size)
...  constraints: BoxConstraints(unconstrained)
...  size: MISSING
...  decoration: BoxDecoration
...    boxShadow: BoxShadow(Color(0x1a000000), Offset(0.0, 20.0), 30.0, 0.0), BlurStyle.normal
...  configuration: ImageConfiguration(bundle: PlatformAssetBundle#8cf5b(), devicePixelRatio: 3.0, locale: en, textDirection: TextDirection.ltr, platform: iOS)
RenderObject: RenderDecoratedBox#8e0ed relayoutBoundary=up2
  needs compositing
  parentData: <none> (can use size)
  constraints: BoxConstraints(unconstrained)
  size: MISSING
  decoration: BoxDecoration
    boxShadow: BoxShadow(Color(0x1a000000), Offset(0.0, 20.0), 30.0, 0.0), BlurStyle.normal
  configuration: ImageConfiguration(bundle: PlatformAssetBundle#8cf5b(), devicePixelRatio: 3.0, locale: en, textDirection: TextDirection.ltr, platform: iOS)
...  child: RenderClipRRect#34423 relayoutBoundary=up3 NEEDS-PAINT
...    needs compositing
...    parentData: <none> (can use size)
...    constraints: BoxConstraints(unconstrained)
...    size: MISSING
...    child: RenderBackdropFilter#352ec relayoutBoundary=up4 NEEDS-PAINT
...      needs compositing
...      parentData: <none> (can use size)
...      constraints: BoxConstraints(unconstrained)
...      size: MISSING
...      child: RenderConstrainedBox#5061e relayoutBoundary=up5 NEEDS-PAINT
...        needs compositing
...        parentData: <none> (can use size)
...        constraints: BoxConstraints(unconstrained)
...        size: MISSING
...        additionalConstraints: BoxConstraints(w=380.0, 0.0<=h<=Infinity)
...        child: RenderDecoratedBox#01691 relayoutBoundary=up6 NEEDS-PAINT
...          needs compositing
...          parentData: <none> (can use size)
...          constraints: BoxConstraints(w=380.0, 0.0<=h<=Infinity)
...          size: MISSING
...          decoration: BoxDecoration
...            color: Color(0xccfafcff)
...          configuration: ImageConfiguration(bundle: PlatformAssetBundle#8cf5b(), devicePixelRatio: 3.0, locale: en, textDirection: TextDirection.ltr, platform: iOS)
====================================================================================================
@diegoveloper
Copy link
Owner

Add minimum code to reproduce the issue

@aaronjudd
Copy link

aaronjudd commented Jul 19, 2022

In my case, I was seeing this error (or something similar), and resolved by adding shrinkWrap: true to my KeyboardActions widgets, or wrapping the KeyboardActions child with a container/sizedBox.

@ChrisElliotUK
Copy link

I found that setting KeyboardActions.disableScroll: true resolved my error when placing inside a custom scroll view

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

4 participants