Description
Open Pesto and click on a recipe. Scroll to the bottom of the recipe, then hit the back button.
This produces the exception below.
This happens because _buildAppBar calculates appBarHeight as a negative value:
appBarHeight=-9.879966735839844 size.height=15.120033264160156 statusBarHeight=25.0
After pressing the back button, the size.height constraint is initially 153.0 (the full size of the Pesto app bar), then 15.1, and then it snaps back to 153.0. Is this supposed to happen?
I/flutter : ══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════
I/flutter : The following StateError was thrown building LayoutBuilder:
I/flutter : Bad state: No element
I/flutter : When the exception was thrown, this was the stack:
I/flutter : #0 Iterable.lastWhere (dart:core/iterable.dart:551)
I/flutter : #1 _PestoDemoState._buildAppBar. (/ssd2/sky/flutter/examples/flutter_gallery/lib/demo/pesto_demo.dart:99)
I/flutter : #2 _LayoutBuilderElement._layout. (package:flutter/src/widgets/layout_builder.dart:179)
I/flutter : #3 BuildOwner.lockState (package:flutter/src/widgets/framework.dart:1224)
I/flutter : #4 _LayoutBuilderElement._layout (package:flutter/src/widgets/layout_builder.dart:176)
I/flutter : #5 RenderObject.invokeLayoutCallback (package:flutter/src/rendering/object.dart:1596)
I/flutter : #6 _RenderLayoutBuilder.performLayout (package:flutter/src/widgets/layout_builder.dart:106)
I/flutter : #7 RenderObject.layout (package:flutter/src/rendering/object.dart:1511)
I/flutter : #8 RenderStack.performLayout (package:flutter/src/rendering/stack.dart:354)
I/flutter : #9 RenderObject.layout (package:flutter/src/rendering/object.dart:1511)
I/flutter : #10 RenderPositionedBox.performLayout (package:flutter/src/rendering/shifted_box.dart:336)
I/flutter : #11 RenderObject.layout (package:flutter/src/rendering/object.dart:1511)
I/flutter : #12 RenderProxyBox.performLayout (package:flutter/src/rendering/proxy_box.dart:83)
I/flutter : #13 RenderObject.layout (package:flutter/src/rendering/object.dart:1511)
I/flutter : #14 RenderProxyBox.performLayout (package:flutter/src/rendering/proxy_box.dart:83)
I/flutter : #15 RenderObject.layout (package:flutter/src/rendering/object.dart:1511)
I/flutter : #16 RenderProxyBox.performLayout (package:flutter/src/rendering/proxy_box.dart:83)
I/flutter : #17 RenderObject.layout (package:flutter/src/rendering/object.dart:1511)
I/flutter : #18 RenderProxyBox.performLayout (package:flutter/src/rendering/proxy_box.dart:83)
I/flutter : #19 RenderObject.layout (package:flutter/src/rendering/object.dart:1511)
I/flutter : #20 RenderProxyBox.performLayout (package:flutter/src/rendering/proxy_box.dart:83)
I/flutter : #21 RenderObject.layout (package:flutter/src/rendering/object.dart:1511)
I/flutter : #22 RenderProxyBox.performLayout (package:flutter/src/rendering/proxy_box.dart:83)
I/flutter : #23 RenderObject.layout (package:flutter/src/rendering/object.dart:1511)
I/flutter : #24 RenderStack.performLayout (package:flutter/src/rendering/stack.dart:394)
I/flutter : #25 RenderObject._layoutWithoutResize (package:flutter/src/rendering/object.dart:1389)
I/flutter : #26 PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:874)
I/flutter : #27 BindingBase&SchedulerBinding&GestureBinding&ServicesBinding&RendererBinding.beginFrame (package:flutter/src/rendering/binding.dart:154)
I/flutter : #28 BindingBase&SchedulerBinding&GestureBinding&ServicesBinding&RendererBinding&WidgetsBinding.beginFrame (package:flutter/src/widgets/binding.dart:210)
I/flutter : #29 BindingBase&SchedulerBinding&GestureBinding&ServicesBinding&RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:146)
I/flutter : #30 BindingBase&SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:535)
I/flutter : #31 BindingBase&SchedulerBinding.handleBeginFrame (package:flutter/src/scheduler/binding.dart:495)
I/flutter : #32 _beginFrame (file:///ssd2/sky/engine/src/flutter/lib/ui/hooks.dart:48)
I/flutter : ════════════════════════════════════════════════════════════════════════════════════════════════════