flutter / flutter

Flutter makes it easy and fast to build beautiful apps for mobile and beyond
https://flutter.dev
BSD 3-Clause "New" or "Revised" License
165.62k stars 27.35k forks source link

Failed assertion: line x pos y: '!_needsLayout': is not true. #78172

Open Octofoxy opened 3 years ago

Octofoxy commented 3 years ago

I got an error message, which asks me to file a bug report. You can find the lib folder and pubspec.yaml in the zip.

════════ Exception caught by rendering library ═════════════════════════════════
The following assertion was thrown during paint():

[39;49m
'package:flutter/src/painting/text_painter.dart': Failed assertion: line 488 pos 12: '!_needsLayout': is not true.

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=BUG.md


The relevant error-causing widget was
Slider
When the exception was thrown, this was the stack
#2      TextPainter.width
#3      _PaddleSliderValueIndicatorPathPainter.paint
#4      PaddleSliderValueIndicatorShape.paint
#5      ThumbShape.paint
#6      _RenderSlider.paint
...
The following RenderObject was being processed when the exception was fired: _RenderSlider#dc1b6
RenderObject: _RenderSlider#dc1b6
    parentData: <none> (can use size)
    constraints: BoxConstraints(0.0<=w<=411.4, 0.0<=h<=Infinity)
    size: Size(411.4, 48.0)
════════════════════════════════════════════════════════════════════════════════

════════ Exception caught by rendering library ═════════════════════════════════
'package:flutter/src/painting/text_painter.dart': Failed assertion: line 488 pos 12: '!_needsLayout': is not true.
The relevant error-causing widget was
Slider
════════════════════════════════════════════════════════════════════════════════

════════ Exception caught by rendering library ═════════════════════════════════
'package:flutter/src/painting/text_painter.dart': Failed assertion: line 488 pos 12: '!_needsLayout': is not true.
The relevant error-causing widget was
Slider
════════════════════════════════════════════════════════════════════════════════

════════ Exception caught by rendering library ═════════════════════════════════
'package:flutter/src/painting/text_painter.dart': Failed assertion: line 488 pos 12: '!_needsLayout': is not true.
The relevant error-causing widget was
Slider
════════════════════════════════════════════════════════════════════════════════

════════ Exception caught by rendering library ═════════════════════════════════
'package:flutter/src/painting/text_painter.dart': Failed assertion: line 488 pos 12: '!_needsLayout': is not true.
The relevant error-causing widget was
Slider
════════════════════════════════════════════════════════════════════════════════

Short explanation of what you will find in the zip: I built a widget, "MultiSlider", which uses the standard Flutter sliders. The widgets returns a master slider and a number of subsliders. The sum of the subsliders values can never exceed the value of the masterslider. The widget itself works fine without errors.

I also have a custom thumb button, which itself works fine and without errors on the example slider from the Flutter documentation. However, when I introduced SliderTheme() to use the custom thumb button with the sliders contained in my MultiSlider widget, I got those errors. lib.zip

darshankawar commented 3 years ago

@Octofoxy What version do you get this error on ? Can you provide flutter doctor -v ?

Octofoxy commented 3 years ago

@darshankawar flutter doctor -v console output below:

[√] Flutter (Channel stable, 1.22.5, on Microsoft Windows [Version 10.0.19042.867], locale de-DE) • Flutter version 1.22.5 at C:\Users***\Code\flutter • Framework revision 7891006299 (3 months ago), 2020-12-10 11:54:40 -0800 • Engine revision ae90085a84 • Dart version 2.10.4

[√] Android toolchain - develop for Android devices (Android SDK version 30.0.3) • Android SDK at C:\Users***\AppData\Local\Android\sdk • Platform android-30, build-tools 30.0.3 • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
• Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01) • All Android licenses accepted.

[!] Android Studio (version 4.1.0) • Android Studio at C:\Program Files\Android\Android Studio X Flutter plugin not installed; this adds Flutter specific functionality. X Dart plugin not installed; this adds Dart specific functionality. • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)

[√] VS Code (version 1.54.2) • VS Code at C:\Users***\AppData\Local\Programs\Microsoft VS Code • Flutter extension version 3.20.0

[√] Connected device (1 available) • Android SDK built for x86 (mobile) • emulator-5554 • android-x86 • Android 10 (API 29) (emulator)`

darshankawar commented 3 years ago

@Octofoxy I see that you are on older version of Stable. Latest is 2.0.2. I suggest you to upgrade to latest and try again to see if issue persists or not. Thanks.

Octofoxy commented 3 years ago

@darshankawar I have updated to 2.0.2 (see below). The problem still persists.

Doctor summary (to see all details, run flutter doctor -v): [√] Flutter (Channel stable, 2.0.2, on Microsoft Windows [Version 10.0.19042.867], locale de-DE)

Octofoxy commented 3 years ago

@darshankawar Are there any updates on this issue? It's stalling our project at the moment.

Octofoxy commented 3 years ago

@darshankawar It has been almost two weeks since I last heard from you. Would you please give me a quick confirmation that this bug is being actively worked on?

darshankawar commented 3 years ago

@Octofoxy Sorry for getting late to this. I was able to replicate this issue, which seems to be pointing to Slider widgt which somehow isn't getting the width it needs and hence throwing the render exception as below:

console error log ``` ======== Exception caught by rendering library ===================================================== The following assertion was thrown during paint(): 'package:flutter/src/painting/text_painter.dart': Failed assertion: line 497 pos 12: '!_needsLayout': is not true. 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: Slider file:///Users/dhs/Documents/NCFlutter/int_test_demo/lib/main.dart:141:20 When the exception was thrown, this was the stack: #2 TextPainter.width (package:flutter/src/painting/text_painter.dart:497:12) #3 _PaddleSliderValueIndicatorPathPainter.paint (package:flutter/src/material/slider_theme.dart:3094:48) #4 PaddleSliderValueIndicatorShape.paint (package:flutter/src/material/slider_theme.dart:2853:18) #5 ThumbShape.paint (package:int_test_demo/main.dart:220:21) #6 _RenderSlider.paint (package:flutter/src/material/slider.dart:1446:30) ... The following RenderObject was being processed when the exception was fired: _RenderSlider#73ee8 ... parentData: (can use size) ... constraints: BoxConstraints(0.0<=w<=428.0, 0.0<=h<=Infinity) ... size: Size(428.0, 48.0) RenderObject: _RenderSlider#73ee8 parentData: (can use size) constraints: BoxConstraints(0.0<=w<=428.0, 0.0<=h<=Infinity) size: Size(428.0, 48.0) ==================================================================================================== ======== Exception caught by rendering library ===================================================== 'package:flutter/src/painting/text_painter.dart': Failed assertion: line 497 pos 12: '!_needsLayout': is not true. The relevant error-causing widget was: Slider file:///Users/dhs/Documents/NCFlutter/int_test_demo/lib/main.dart:169:26 ==================================================================================================== ======== Exception caught by rendering library ===================================================== 'package:flutter/src/painting/text_painter.dart': Failed assertion: line 497 pos 12: '!_needsLayout': is not true. The relevant error-causing widget was: Slider file:///Users/dhs/Documents/NCFlutter/int_test_demo/lib/main.dart:169:26 ==================================================================================================== ======== Exception caught by rendering library ===================================================== 'package:flutter/src/painting/text_painter.dart': Failed assertion: line 497 pos 12: '!_needsLayout': is not true. The relevant error-causing widget was: Slider file:///Users/dhs/Documents/NCFlutter/int_test_demo/lib/main.dart:169:26 ==================================================================================================== ======== Exception caught by rendering library ===================================================== 'package:flutter/src/painting/text_painter.dart': Failed assertion: line 497 pos 12: '!_needsLayout': is not true. The relevant error-causing widget was: Slider file:///Users/dhs/Documents/NCFlutter/int_test_demo/lib/main.dart:169:26 ==================================================================================================== ======== Exception caught by rendering library ===================================================== The following assertion was thrown during paint(): 'package:flutter/src/painting/text_painter.dart': Failed assertion: line 497 pos 12: '!_needsLayout': is not true. 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: Slider file:///Users/dhs/Documents/NCFlutter/int_test_demo/lib/main.dart:141:20 When the exception was thrown, this was the stack: #2 TextPainter.width (package:flutter/src/painting/text_painter.dart:497:12) #3 _PaddleSliderValueIndicatorPathPainter.paint (package:flutter/src/material/slider_theme.dart:3094:48) #4 PaddleSliderValueIndicatorShape.paint (package:flutter/src/material/slider_theme.dart:2853:18) #5 ThumbShape.paint (package:int_test_demo/main.dart:220:21) #6 _RenderSlider.paint (package:flutter/src/material/slider.dart:1446:30) ... The following RenderObject was being processed when the exception was fired: _RenderSlider#73ee8 ... parentData: (can use size) ... constraints: BoxConstraints(0.0<=w<=428.0, 0.0<=h<=Infinity) ... size: Size(428.0, 48.0) RenderObject: _RenderSlider#73ee8 parentData: (can use size) constraints: BoxConstraints(0.0<=w<=428.0, 0.0<=h<=Infinity) size: Size(428.0, 48.0) ==================================================================================================== ======== Exception caught by rendering library ===================================================== 'package:flutter/src/painting/text_painter.dart': Failed assertion: line 497 pos 12: '!_needsLayout': is not true. The relevant error-causing widget was: Slider file:///Users/dhs/Documents/NCFlutter/int_test_demo/lib/main.dart:169:26 ==================================================================================================== ======== Exception caught by rendering library ===================================================== 'package:flutter/src/painting/text_painter.dart': Failed assertion: line 497 pos 12: '!_needsLayout': is not true. The relevant error-causing widget was: Slider file:///Users/dhs/Documents/NCFlutter/int_test_demo/lib/main.dart:169:26 ==================================================================================================== ======== Exception caught by rendering library ===================================================== 'package:flutter/src/painting/text_painter.dart': Failed assertion: line 497 pos 12: '!_needsLayout': is not true. The relevant error-causing widget was: Slider file:///Users/dhs/Documents/NCFlutter/int_test_demo/lib/main.dart:169:26 ==================================================================================================== ======== Exception caught by rendering library ===================================================== 'package:flutter/src/painting/text_painter.dart': Failed assertion: line 497 pos 12: '!_needsLayout': is not true. The relevant error-causing widget was: Slider file:///Users/dhs/Documents/NCFlutter/int_test_demo/lib/main.dart:169:26 ==================================================================================================== ```
full code sample ``` import 'package:flutter/material.dart'; //import 'multiSlider.dart'; void main() => runApp(const MyApp()); /// This is the main application widget. class MyApp extends StatelessWidget { const MyApp({Key key}) : super(key: key); static const String _title = 'Flutter Code Sample'; @override Widget build(BuildContext context) { return MaterialApp( title: _title, home: Scaffold( appBar: AppBar(title: const Text(_title)), body: const MyStatefulWidget(), ), ); } } class MyStatefulWidget extends StatefulWidget { const MyStatefulWidget({Key key}) : super(key: key); @override _MyStatefulWidgetState createState() => _MyStatefulWidgetState(); } class _MyStatefulWidgetState extends State { // Example settings for the multiSlider var masterSlider = { "showMasterSlider": true, "masterSliderText": "Dies ist der Master Slider Text", "sliderMin": 0.0, "sliderMax": 100.0, "sliderDivisions": 100, "currentMasterSliderValue": 100.0, }; List subSlider = [ { "sliderText": "Erster Subslider Text", "currentSliderValue": 0.0, }, { "sliderText": "Zweiter Subslider Text", "currentSliderValue": 0.0, }, { "sliderText": "Dritter Subslider Text", "currentSliderValue": 0.0, }, { "sliderText": "Vierter Subslider Text", "currentSliderValue": 0.0, }, ]; @override Widget build(BuildContext context) { return Column( children: [ MultiSlider(masterSlider, subSlider), ], ); } } class MultiSlider extends StatefulWidget { final Map masterSlider; final List subSlider; MultiSlider(this.masterSlider, this.subSlider); @override _MultiSliderState createState() => _MultiSliderState(); } class _MultiSliderState extends State { //sums all subSliders EXCEPT the one given as an argument. //sums ALL subSliders if given null as an argument double sumOfAllSubSlidersExcept(currentSubSlider) { if (currentSubSlider != null) { return ((widget.subSlider.map((m) => m['currentSliderValue']).toList()) .reduce((value, element) => value + element)) - currentSubSlider["currentSliderValue"]; } else { return ((widget.subSlider.map((m) => m['currentSliderValue']).toList()) .reduce((value, element) => value + element)); } } // required for subSlider-generation dontBeZero(valueToCheck) { if (valueToCheck == 0) { return 1; } else { return valueToCheck; } } // Used by the subSliders dontOverstep(valueToCheck, checkAgainst) { if (valueToCheck > checkAgainst) { return checkAgainst; } else { return valueToCheck; } } // Used by the masterSlider dontUnderstep(valueToCheck, checkAgainst) { if (valueToCheck < checkAgainst) { return checkAgainst; } else { return valueToCheck; } } @override Widget build(BuildContext context) { return Column( children: [ // Those Texts are for debug only. // Text("Value of masterSlider:" + // widget.masterSlider["currentMasterSliderValue"].toString()), // Text("Sum of all subSliders:" + // (sumOfAllSubSlidersExcept(null)).toString()), // This builds the Title of the masterSlider Text(widget.masterSlider["masterSliderText"]), // This builds the masterSlider, if "showMasterSlider = true" if (widget.masterSlider["showMasterSlider"]) SliderTheme( data: SliderThemeData( showValueIndicator: ShowValueIndicator.never, thumbShape: ThumbShape(), ), child: Slider( min: widget.masterSlider["sliderMin"], max: widget.masterSlider["sliderMax"], divisions: widget.masterSlider["sliderDivisions"], value: widget.masterSlider["currentMasterSliderValue"], onChanged: (double value) { setState(() { widget.masterSlider["currentMasterSliderValue"] = dontUnderstep(value, sumOfAllSubSlidersExcept(null)); }); }, ), ) else Container(), // This builds one subSlider for each item in the subSlider-List. ...widget.subSlider.map((item) { return Padding( padding: EdgeInsets.all(10.0), child: Column( children: [ Text(item["sliderText"]), SliderTheme( data: SliderThemeData( showValueIndicator: ShowValueIndicator.never, thumbShape: ThumbShape(), ), child: Slider( // Subsliders inherit their layout from the masterSlider min: widget.masterSlider["sliderMin"], max: widget.masterSlider["sliderMax"], divisions: widget.masterSlider["sliderDivisions"], value: item["currentSliderValue"], onChanged: (double value) { setState(() { // This makes sure that any subSlider can't be increased beyond // the value of the masterSlider minus the sum of all other subSliders. item["currentSliderValue"] = dontOverstep( value, (widget.masterSlider["currentMasterSliderValue"] - sumOfAllSubSlidersExcept(item))); }); }, ), ), ], ), ); }) ], ); } } class ThumbShape extends RoundSliderThumbShape { final _indicatorShape = const PaddleSliderValueIndicatorShape(); const ThumbShape(); @override void paint(PaintingContext context, Offset center, {Animation activationAnimation, Animation enableAnimation, bool isDiscrete, TextPainter labelPainter, RenderBox parentBox, SliderThemeData sliderTheme, TextDirection textDirection, double textScaleFactor, double value, Size sizeWithOverflow}) { super.paint(context, center, activationAnimation: activationAnimation, enableAnimation: enableAnimation, sliderTheme: sliderTheme, value: value, textScaleFactor: textScaleFactor, sizeWithOverflow: sizeWithOverflow); _indicatorShape.paint( context, center, activationAnimation: const AlwaysStoppedAnimation(1), enableAnimation: enableAnimation, labelPainter: labelPainter, parentBox: parentBox, sliderTheme: sliderTheme, value: value, // der TextScaleFactor verändert die Größe der "Tooltip"-Blase textScaleFactor: 0.6, sizeWithOverflow: sizeWithOverflow, ); } } ```
flutter doctor -v ``` [✓] Flutter (Channel master, 2.1.0-13.0.pre.319, on Mac OS X 10.15.4 19E2269 darwin-x64, locale en-GB) • Flutter version 2.1.0-13.0.pre.319 at /Users/dhs/documents/Fluttersdk/flutter • Framework revision 430626d0f3 (48 minutes ago), 2021-03-29 21:44:03 -0700 • Engine revision 4c6abc1e06 • Dart version 2.13.0 (build 2.13.0-172.0.dev) [!] Xcode - develop for iOS and macOS • Xcode at /Applications/Xcode.app/Contents/Developer • Xcode 12.3, Build version 12C33 ! CocoaPods 1.9.3 out of date (1.10.0 is recommended). CocoaPods is used to retrieve the iOS and macOS platform side's plugin code that responds to your plugin usage on the Dart side. Without CocoaPods, plugins will not work on iOS or macOS. For more info, see https://flutter.dev/platform-plugins To upgrade see https://guides.cocoapods.org/using/getting-started.html#installation for instructions. [✓] Chrome - develop for the web • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome [✓] VS Code (version 1.54.3) • VS Code at /Applications/Visual Studio Code.app/Contents • Flutter extension version 3.20.0 [✓] Connected device (3 available) • iPhone 12 Pro Max (mobile) • A5473606-0213-4FD8-BA16-553433949729 • ios • com.apple.CoreSimulator.SimRuntime.iOS-14-3 (simulator) • macOS (desktop) • macos • darwin-x64 • Mac OS X 10.15.4 19E2269 darwin-x64 • Chrome (web) • chrome • web-javascript • Google Chrome 89.0.4389.90 ! Doctor found issues in 1 category. ```

Keeping this open for further analysis.

bernaferrari commented 3 years ago

I'm getting the same with Text. No Slider here.

[✓] Flutter (Channel beta, 2.2.0, on macOS 11.4 20F71 darwin-x64, locale en-BR)
    • Flutter version 2.2.0 at /usr/local/flutter
    • Framework revision b22742018b (3 weeks ago), 2021-05-14 19:12:57 -0700
    • Engine revision a9d88a4d18
    • Dart version 2.13.0
'package:flutter/src/painting/text_painter.dart': Failed assertion: line 881 pos 12: '!_needsLayout': is not true.
      #0      _AssertionError._doThrowNew (dart:core-patch/errors_patch.dart:46:39)
      #1      _AssertionError._throwNew (dart:core-patch/errors_patch.dart:36:5)
      #2      TextPainter.getPositionForOffset (package:flutter/src/painting/text_painter.dart:881:12)
      #3      RenderParagraph.hitTestChildren (package:flutter/src/rendering/paragraph.dart:456:52)
      #4      RenderBox.hitTest (package:flutter/src/rendering/box.dart:2414:11)
      #5      RenderBoxContainerDefaultsMixin.defaultHitTestChildren.<anonymous closure> (package:flutter/src/rendering/box.dart:2775:25)
      #6      BoxHitTestResult.addWithPaintOffset (package:flutter/src/rendering/box.dart:787:31)
      #7      RenderBoxContainerDefaultsMixin.defaultHitTestChildren (package:flutter/src/rendering/box.dart:2770:33)
      #8      RenderFlex.hitTestChildren (package:flutter/src/rendering/flex.dart:1072:12)
      #9      RenderBox.hitTest (package:flutter/src/rendering/box.dart:2414:11)
      #10     RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:131:19)
      #11     RenderBox.hitTest (package:flutter/src/rendering/box.dart:2414:11)
      #12     RenderShiftedBox.hitTestChildren.<anonymous closure> (package:flutter/src/rendering/shifted_box.dart:92:25)
      #13     BoxHitTestResult.addWithPaintOffset (package:flutter/src/rendering/box.dart:787:31)
      #14     RenderShiftedBox.hitTestChildren (package:flutter/src/rendering/shifted_box.dart:87:21)
      #15     RenderBox.hitTest (package:flutter/src/rendering/box.dart:2414:11)
      #16     RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:131:19)
      #17     RenderBox.hitTest (package:flutter/src/rendering/box.dart:2414:11)
      #18     RenderShiftedBox.hitTestChildren.<anonymous closure> (package:flutter/src/rendering/shifted_box.dart:92:25)
      #19     BoxHitTestResult.addWithPaintOffset (package:flutter/src/rendering/box.dart:787:31)
      #20     RenderShiftedBox.hitTestChildren (package:flutter/src/rendering/shifted_box.dart:87:21)
      #21     RenderBox.hitTest (package:flutter/src/rendering/box.dart:2414:11)
      #22     RenderShiftedBox.hitTestChildren.<anonymous closure> (package:flutter/src/rendering/shifted_box.dart:92:25)
      #23     BoxHitTestResult.addWithPaintOffset (package:flutter/src/rendering/box.dart:787:31)
      #24     RenderShiftedBox.hitTestChildren (package:flutter/src/rendering/shifted_box.dart:87:21)
      #25     RenderBox.hitTest (package:flutter/src/rendering/box.dart:2414:11)
      #26     RenderBoxContainerDefaultsMixin.defaultHitTestChildren.<anonymous closure> (package:flutter/src/rendering/box.dart:2775:25)
      #27     BoxHitTestResult.addWithPaintOffset (package:flutter/src/rendering/box.dart:787:31)
      #28     RenderBoxContainerDefaultsMixin.defaultHitTestChildren (package:flutter/src/rendering/box.dart:2770:33)
      #29     RenderCustomMultiChildLayoutBox.hitTestChildren (package:flutter/src/rendering/custom_layout.dart:414:12)
      #30     RenderBox.hitTest (package:flutter/src/rendering/box.dart:2414:11)
      #31     RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:131:19)
      #32     RenderBox.hitTest (package:flutter/src/rendering/box.dart:2414:11)
      #33     RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:131:19)
      #34     RenderBox.hitTest (package:flutter/src/rendering/box.dart:2414:11)
      #35     RenderPhysicalModel.hitTest (package:flutter/src/rendering/proxy_box.dart:1889:18)
      #36     RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:131:19)
      #37     RenderBox.hitTest (package:flutter/src/rendering/box.dart:2414:11)
      #38     RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:131:19)
      #39     RenderBox.hitTest (package:flutter/src/rendering/box.dart:2414:11)
      #40     RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:131:19)
      #41     RenderBox.hitTest (package:flutter/src/rendering/box.dart:2414:11)
      #42     RenderIgnorePointer.hitTest (package:flutter/src/rendering/proxy_box.dart:3257:31)
      #43     RenderBoxContainerDefaultsMixin.defaultHitTestChildren.<anonymous closure> (package:flutter/src/rendering/box.dart:2775:25)
      #44     BoxHitTestResult.addWithPaintOffset (package:flutter/src/rendering/box.dart:787:31)
      #45     RenderBoxContainerDefaultsMixin.defaultHitTestChildren (package:flutter/src/rendering/box.dart:2770:33)
      #46     RenderStack.hitTestChildren (package:flutter/src/rendering/stack.dart:620:12)
      #47     RenderBox.hitTest (package:flutter/src/rendering/box.dart:2414:11)
      #48     RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:131:19)
      #49     RenderBox.hitTest (package:flutter/src/rendering/box.dart:2414:11)
      #50     RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:131:19)
      #51     RenderFractionalTranslation.hitTestChildren.<anonymous closure> (package:flutter/src/rendering/proxy_box.dart:2714:22)
      #52     BoxHitTestResult.addWithPaintOffset (package:flutter/src/rendering/box.dart:787:31)
      #53     RenderFractionalTranslation.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:2708:19)
      #54     RenderFractionalTranslation.hitTest (package:flutter/src/rendering/proxy_box.dart:2694:12)
      #55     RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:131:19)
      #56     RenderFractionalTranslation.hitTestChildren.<anonymous closure> (package:flutter/src/rendering/proxy_box.dart:2714:22)
      #57     BoxHitTestResult.addWithPaintOffset (package:flutter/src/rendering/box.dart:787:31)
      #58     RenderFractionalTranslation.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:2708:19)
      #59     RenderFractionalTranslation.hitTest (package:flutter/src/rendering/proxy_box.dart:2694:12)
      #60     RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:131:19)
      #61     RenderBox.hitTest (package:flutter/src/rendering/box.dart:2414:11)
      #62     RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:131:19)
      #63     RenderBox.hitTest (package:flutter/src/rendering/box.dart:2414:11)
      #64     RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:131:19)
      #65     RenderBox.hitTest (package:flutter/src/rendering/box.dart:2414:11)
      #66     RenderOffstage.hitTest (package:flutter/src/rendering/proxy_box.dart:3376:31)
      #67     RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:131:19)
      #68     RenderBox.hitTest (package:flutter/src/rendering/box.dart:2414:11)
      #69     _RenderTheatre.hitTestChildren.<anonymous closure> (package:flutter/src/widgets/overlay.dart:765:25)
      #70     BoxHitTestResult.addWithPaintOffset (package:flutter/src/rendering/box.dart:787:31)
      #71     _RenderTheatre.hitTestChildren (package:flutter/src/widgets/overlay.dart:760:33)
      #72     RenderBox.hitTest (package:flutter/src/rendering/box.dart:2414:11)
      #73     RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:131:19)
      #74     RenderBox.hitTest (package:flutter/src/rendering/box.dart:2414:11)
      #75     RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:131:19)
      #76     RenderBox.hitTest (package:flutter/src/rendering/box.dart:2414:11)
      #77     RenderAbsorbPointer.hitTest (package:flutter/src/rendering/proxy_box.dart:3474:17)
      #78     RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:131:19)
      #79     RenderProxyBoxWithHitTestBehavior.hitTest (package:flutter/src/rendering/proxy_box.dart:178:19)
      #80     RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:131:19)
      #81     RenderCustomPaint.hitTestChildren (package:flutter/src/rendering/custom_paint.dart:535:18)
      #82     RenderBox.hitTest (package:flutter/src/rendering/box.dart:2414:11)
      #83     RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:131:19)
      #84     RenderBox.hitTest (package:flutter/src/rendering/box.dart:2414:11)
      #85     RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:131:19)
      #86     RenderBox.hitTest (package:flutter/src/rendering/box.dart:2414:11)
      #87     RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:131:19)
      #88     RenderBox.hitTest (package:flutter/src/rendering/box.dart:2414:11)
      #89     RenderView.hitTest (package:flutter/src/rendering/view.dart:173:14)
      #90     RendererBinding.hitTest (package:flutter/src/rendering/binding.dart:490:16)
      #91     GestureBinding._handlePointerEventImmediately (package:flutter/src/gestures/binding.dart:346:7)
      #92     GestureBinding.handlePointerEvent (package:flutter/src/gestures/binding.dart:338:5)
      #93     GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:296:7)
      #94     GestureBinding._handlePointerDataPacket (package:flutter/src/gestures/binding.dart:279:7)
      #95     _rootRunUnary (dart:async/zone.dart:1370:13)
      #96     _CustomZone.runUnary (dart:async/zone.dart:1265:19)
      #97     _CustomZone.runUnaryGuarded (dart:async/zone.dart:1170:7)
      #98     _invoke1 (dart:ui/hooks.dart:182:10)
      #99     PlatformDispatcher._dispatchPointerDataPacket (dart:ui/platform_dispatcher.dart:282:7)
      #100    _dispatchPointerDataPacket (dart:ui/hooks.dart:96:31)
94wogus commented 3 years ago

same problem here

flutter doctor -v ``` [✓] Flutter (Channel stable, 2.2.2, on macOS 11.4 20F71 darwin-arm, locale ko-KR) • Flutter version 2.2.2 at /Users/wogus/flutter • Framework revision d79295af24 (3 weeks ago), 2021-06-11 08:56:01 -0700 • Engine revision 91c9fc8fe0 • Dart version 2.13.3 [✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3) • Android SDK at /Users/wogus/Library/Android/sdk • Platform android-30, build-tools 30.0.3 • Java binary at: /Library/Java/JavaVirtualMachines/jdk-11.0.11.jdk/Contents/Home/bin/java • Java version Java(TM) SE Runtime Environment 18.9 (build 11.0.11+9-LTS-194) • All Android licenses accepted. [✓] Xcode - develop for iOS and macOS • Xcode at /Applications/Xcode.app/Contents/Developer • Xcode 12.5.1, Build version 12E507 • CocoaPods version 1.10.1 [✓] Chrome - develop for the web • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome [!] Android Studio • Android Studio at /Applications/Android Studio Preview.app/Contents • Flutter plugin can be installed from: 🔨 https://plugins.jetbrains.com/plugin/9212-flutter • Dart plugin can be installed from: 🔨 https://plugins.jetbrains.com/plugin/6351-dart ✗ Unable to find bundled Java version. => this is android studio bug • Try updating or re-installing Android Studio. [✓] VS Code (version 1.57.1) • VS Code at /Applications/Visual Studio Code.app/Contents • Flutter extension version 3.23.0 [✓] Connected device (2 available) • LM G900N (mobile) • LMG900Nc1eda018 • android-arm64 • Android 11 (API 30) • Chrome (web) • chrome • web-javascript • Google Chrome 91.0.4472.114 ```
logs ``` E/flutter (26175): [ERROR:flutter/lib/ui/ui_dart_state.cc(199)] Unhandled Exception: 'package:flutter/src/painting/text_painter.dart': Failed assertion: line 881 pos 12: '!_needsLayout': is not true. E/flutter (26175): #0 _AssertionError._doThrowNew (dart:core-patch/errors_patch.dart:46:39) E/flutter (26175): #1 _AssertionError._throwNew (dart:core-patch/errors_patch.dart:36:5) E/flutter (26175): #2 TextPainter.getPositionForOffset (package:flutter/src/painting/text_painter.dart:881:12) E/flutter (26175): #3 RenderParagraph.hitTestChildren (package:flutter/src/rendering/paragraph.dart:456:52) E/flutter (26175): #4 RenderBox.hitTest (package:flutter/src/rendering/box.dart:2414:11) E/flutter (26175): #5 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:131:19) E/flutter (26175): #6 RenderTransform.hitTestChildren. (package:flutter/src/rendering/proxy_box.dart:2347:22) E/flutter (26175): #7 BoxHitTestResult.addWithRawTransform (package:flutter/src/rendering/box.dart:826:31) E/flutter (26175): #8 BoxHitTestResult.addWithPaintTransform (package:flutter/src/rendering/box.dart:751:12) E/flutter (26175): #9 RenderTransform.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:2343:19) E/flutter (26175): #10 RenderTransform.hitTest (package:flutter/src/rendering/proxy_box.dart:2337:12) E/flutter (26175): #11 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:131:19) E/flutter (26175): #12 RenderBox.hitTest (package:flutter/src/rendering/box.dart:2414:11) E/flutter (26175): #13 RenderShiftedBox.hitTestChildren. (package:flutter/src/rendering/shifted_box.dart:92:25) E/flutter (26175): #14 BoxHitTestResult.addWithPaintOffset (package:flutter/src/rendering/box.dart:787:31) E/flutter (26175): #15 RenderShiftedBox.hitTestChildren (package:flutter/src/rendering/shifted_box.dart:87:21) E/flutter (26175): #16 RenderBox.hitTest (package:flutter/src/rendering/box.dart:2414:11) E/flutter (26175): #17 RenderBoxContainerDefaultsMixin.defaultHitTestChildren. (package:flutter/src/rendering/box.dart:2775:25) E/flutter (26175): #18 BoxHitTestResult.addWithPaintOffset (package:flutter/src/rendering/box.dart:787:31) E/flutter (26175): #19 RenderBoxContainerDefaultsMixin.defaultHitTestChildren (package:flutter/src/rendering/box.dart:2770:33) E/flutter (26175): #20 RenderFlex.hitTestChildren (package:flutter/src/rendering/flex.dart:1072:12) E/flutter (26175): #21 RenderBox.hitTest (package:flutter/src/rendering/box.dart:2414:11) E/flutter (26175): #22 RenderShiftedBox.hitTestChildren. (package:flutter/src/rendering/shifted_box.dart:92:25) E/flutter (26175): #23 BoxHitTestResult.addWithPaintOffset (package:flutter/src/rendering/box.dart:787:31) E/flutter (26175): #24 RenderShiftedBox.hitTestChildren (package:flutter/src/rendering/shifted_box.dart:87:21) E/flutter (26175): #25 RenderBox.hitTest (package:flutter/src/rendering/box.dart:2414:11) E/flutter (26175): #26 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:131:19) E/flutter (26175): #27 RenderProxyBoxWithHitTestBehavior.hitTest (package:flutter/src/rendering/proxy_box.dart:178:19) E/flutter (26175): #28 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:131:19) E/flutter (26175): #29 RenderBox.hitTest (package:flutter/src/rendering/box.dart:2414:11) E/flutter (26175): #30 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:131:19) E/flutter (26175): #31 RenderBox.hitTest (package:flutter/src/rendering/box.dart:2414:11) E/flutter (26175): #32 RenderMouseRegion.hitTest (package:flutter/src/rendering/proxy_box.dart:2905:18) E/flutter (26175): #33 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:131:19) E/flutter (26175): #34 RenderBox.hitTest (package:flutter/src/rendering/box.dart:2414:11) E/flutter (26175): #35 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:131:19) E/flutter (26175): #36 RenderBox.hitTest (package:flutter/src/rendering/box.dart:2414:11) E/flutter (26175): #37 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:131:19) E/flutter (26175): #38 RenderProxyBoxWithHitTestBehavior.hitTest (package:flutter/src/rendering/proxy_box.dart:178:19) E/flutter (26175): #39 RenderBoxContainerDefaultsMixin.defaultHitTestChildren. (package:flutter/src/rendering/box.dart:2775:25) E/flutter (26175): #40 BoxHitTestResult.addWithPaintOffset (package:flutter/src/rendering/box.dart:787:31) E/flutter (26175): #41 RenderBoxContainerDefaultsMixin.defaultHitTestChildren (package:flutter/src/rendering/box.dart:2770:33) E/flutter (26175): #42 RenderStack.hitTestChildren (package:flutter/src/rendering/stack.dart:620:12) E/flutter (26175): #43 RenderBox.hitTest (package:flutter/src/rendering/box.dart:2414:11) E/flutter (26175): #44 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:131:19) E/flutter (26175): #45 RenderBox.hitTest (package:flutter/src/rendering/box.dart:2414:11) E/flutter (26175): #46 RenderBoxContainerDefaultsMixin.defaultHitTestChildren. (package:flutter/src/rendering/box.dart:2775:25) E/flutter (26175): #47 BoxHitTestResult.addWithPaintOffset (package:flutter/src/rendering/box.dart:787:31) E/flutter (26175): #48 RenderBoxContainerDefaultsMixin.defaultHitTestChildren (package:flutter/src/rendering/box.dart:2770:33) E/flutter (26175): #49 RenderFlex.hitTestChildren (package:flutter/src/rendering/flex.dart:1072:12) E/flutter (26175): #50 RenderBox.hitTest (package:flutter/src/rendering/box.dart:2414:11) E/flutter (26175): #51 RenderShiftedBox.hitTestChildren. (package:flutter/src/rendering/shifted_box.dart:92:25) E/flutter (26175): #52 BoxHitTestResult.addWithPaintOffset (package:flutter/src/rendering/box.dart:787:31) E/flutter (26175): #53 RenderShiftedBox.hitTestChildren (package:flutter/src/rendering/shifted_box.dart:87:21) E/flutter (26175): #54 RenderBox.hitTest (package:flutter/src/rendering/box.dart:2414:11) E/flutter (26175): #55 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:131:19) E/flutter (26175): #56 RenderBox.hitTest (package:flutter/src/rendering/box.dart:2414:11) E/flutter (26175): #57 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:131:19) E/flutter (26175): #58 RenderCustomPaint.hitTestChildren (package:flutter/src/rendering/custom_paint.dart:535:18) E/flutter (26175): #59 RenderBox.hitTest (package:flutter/src/rendering/box.dart:2414:11) E/flutter (26175): #60 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:131:19) E/flutter (26175): #61 RenderCustomPaint.hitTestChildren (package:flutter/src/rendering/custom_paint.dart:535:18) E/flutter (26175): #62 RenderBox.hitTest (package:flutter/src/rendering/box.dart:2414:11) E/flutter (26175): #63 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:131:19) E/flutter (26175): #64 RenderBox.hitTest (package:flutter/src/rendering/box.dart:2414:11) E/flutter (26175): #65 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:131:19) E/flutter (26175): #66 RenderBox.hitTest (package:flutter/src/rendering/box.dart:2414:11) E/flutter (26175): #67 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:131:19) E/flutter (26175): #68 RenderBox.hitTest (package:flutter/src/rendering/box.dart:2414:11) E/flutter (26175): #69 RenderPhysicalModel.hitTest (package:flutter/src/rendering/proxy_box.dart:1889:18) E/flutter (26175): #70 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:131:19) E/flutter (26175): #71 RenderBox.hitTest (package:flutter/src/rendering/box.dart:2414:11) E/flutter (26175): #72 RenderBoxContainerDefaultsMixin.defaultHitTestChildren. (package:flutter/src/rendering/box.dart:2775:25) E/flutter (26175): #73 BoxHitTestResult.addWithPaintOffset (package:flutter/src/rendering/box.dart:787:31) E/flutter (26175): #74 RenderBoxContainerDefaultsMixin.defaultHitTestChildren (package:flutter/src/rendering/box.dart:2770:33) E/flutter (26175): #75 RenderCustomMultiChildLayoutBox.hitTestChildren (package:flutter/src/rendering/custom_layout.dart:414:12) E/flutter (26175): #76 RenderBox.hitTest (package:flutter/src/rendering/box.dart:2414:11) E/flutter (26175): #77 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:131:19) E/flutter (26175): #78 RenderBox.hitTest (package:flutter/src/rendering/box.dart:2414:11) E/flutter (26175): #79 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:131:19) E/flutter (26175): #80 RenderBox.hitTest (package:flutter/src/rendering/box.dart:2414:11) E/flutter (26175): #81 RenderPhysicalModel.hitTest (package:flutter/src/rendering/proxy_box.dart:1889:18) E/flutter (26175): #82 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:131:19) E/flutter (26175): #83 RenderBox.hitTest (package:flutter/src/rendering/box.dart:2414:11) E/flutter (26175): #84 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:131:19) E/flutter (26175): #85 RenderBox.hitTest (package:flutter/src/rendering/box.dart:2414:11) E/flutter (26175): #86 RenderIgnorePointer.hitTest (package:flutter/src/rendering/proxy_box.dart:3257:31) E/flutter (26175): #87 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:131:19) E/flutter (26175): #88 RenderBox.hitTest (package:flutter/src/rendering/box.dart:2414:11) E/flutter (26175): #89 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:131:19) E/flutter (26175): #90 RenderBox.hitTest (package:flutter/src/rendering/box.dart:2414:11) E/flutter (26175): #91 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:131:19) E/flutter (26175): #92 RenderBox.hitTest (package:flutter/src/rendering/box.dart:2414:11) E/flutter (26175): #93 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:131:19) E/flutter (26175): #94 RenderBox.hitTest (package:flutter/src/rendering/box.dart:2414:11) E/flutter (26175): #95 RenderOffstage.hitTest (package:flutter/src/rendering/proxy_box.dart:3376:31) E/flutter (26175): #96 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:131:19) E/flutter (26175): #97 RenderBox.hitTest (package:flutter/src/rendering/box.dart:2414:11) E/flutter (26175): #98 _RenderTheatre.hitTestChildren. (package:flutter/src/widgets/overlay.dart:765:25) E/flutter (26175): #99 BoxHitTestResult.addWithPaintOffset (package:flutter/src/rendering/box.dart:787:31) E/flutter (26175): #100 _RenderTheatre.hitTestChildren (package:flutter/src/widgets/overlay.dart:760:33) E/flutter (26175): #101 RenderBox.hitTest (package:flutter/src/rendering/box.dart:2414:11) E/flutter (26175): #102 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:131:19) E/flutter (26175): #103 RenderBox.hitTest (package:flutter/src/rendering/box.dart:2414:11) E/flutter (26175): #104 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:131:19) E/flutter (26175): #105 RenderBox.hitTest (package:flutter/src/rendering/box.dart:2414:11) E/flutter (26175): #106 RenderAbsorbPointer.hitTest (package:flutter/src/rendering/proxy_box.dart:3474:17) E/flutter (26175): #107 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:131:19) E/flutter (26175): #108 RenderProxyBoxWithHitTestBehavior.hitTest (package:flutter/src/rendering/proxy_box.dart:178:19) E/flutter (26175): #109 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:131:19) E/flutter (26175): #110 RenderCustomPaint.hitTestChildren (package:flutter/src/rendering/custom_paint.dart:535:18) E/flutter (26175): #111 RenderBox.hitTest (package:flutter/src/rendering/box.dart:2414:11) E/flutter (26175): #112 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:131:19) E/flutter (26175): #113 RenderBox.hitTest (package:flutter/src/rendering/box.dart:2414:11) E/flutter (26175): #114 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:131:19) E/flutter (26175): #115 RenderBox.hitTest (package:flutter/src/rendering/box.dart:2414:11) E/flutter (26175): #116 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:131:19) E/flutter (26175): #117 RenderBox.hitTest (package:flutter/src/rendering/box.dart:2414:11) E/flutter (26175): #118 RenderView.hitTest (package:flutter/src/rendering/view.dart:173:14) E/flutter (26175): #119 RendererBinding.hitTest (package:flutter/src/rendering/binding.dart:490:16) E/flutter (26175): #120 GestureBinding._handlePointerEventImmediately (package:flutter/src/gestures/binding.dart:346:7) E/flutter (26175): #121 GestureBinding.handlePointerEvent (package:flutter/src/gestures/binding.dart:338:5) E/flutter (26175): #122 GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:296:7) E/flutter (26175): #123 GestureBinding._handlePointerDataPacket (package:flutter/src/gestures/binding.dart:279:7) E/flutter (26175): #124 _rootRunUnary (dart:async/zone.dart:1370:13) E/flutter (26175): #125 _CustomZone.runUnary (dart:async/zone.dart:1265:19) E/flutter (26175): #126 _CustomZone.runUnaryGuarded (dart:async/zone.dart:1170:7) E/flutter (26175): #127 _invoke1 (dart:ui/hooks.dart:182:10) E/flutter (26175): #128 PlatformDispatcher._dispatchPointerDataPacket (dart:ui/platform_dispatcher.dart:282:7) E/flutter (26175): #129 _dispatchPointerDataPacket (dart:ui/hooks.dart:96:31) E/flutter (26175): ```

This bug occurs when changing tabs with bottom navigation on scaffold widgets. It happens once in a while when changing a tab, and in this case, the tab cannot be changed. Below is that code.

homeScreen code ``` class HomePage extends StatefulWidget { const HomePage({Key? key}) : super(key: key); @override _HomePageState createState() => _HomePageState(); } class _HomePageState extends State { @override void initState() { super.initState(); WidgetsBinding.instance!.addPostFrameCallback((timeStamp) { Provider.of(context, listen: false).init(); Provider.of(context, listen: false).init(); }); } @override Widget build(BuildContext context) { return Selector( selector: (_, provider) => provider.homeTab, builder: (_, homeTab, __) => ScrolledScaffold( key: PageStorageKey(homeTab.label), option: homeTab.headerOption, bodyChild: homeTab.page, bottomHit: homeTab.bottomHit(context), bottomNavigationBar: BottomNavigationBar( type: BottomNavigationBarType.fixed, backgroundColor: Colors.white, selectedItemColor: Colors.white, unselectedItemColor: Colors.white.withOpacity(.60), showSelectedLabels: false, showUnselectedLabels: false, selectedFontSize: 14, unselectedFontSize: 14, currentIndex: homeTab.index, //현재 선택된 Index onTap: (int index) => Provider.of( context, listen: false, ).homeTab = mapHomeTab(index), items: HomeTab.values .map( (HomeTab tab) => BottomNavigationBarItem( icon: SvgPicture.asset( tab.icon(homeTab), height: 32, width: 32, fit: BoxFit.fitWidth, ), label: tab.label, ), ) .toList(), ), ), ); } } ```
94wogus commented 3 years ago

When I clear the PageStorageKey the bug doesn't appear.