[go: nahoru, domu]

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

Multiple Forms in TabView calling setState() in onChanged callback #18063

Closed
qwezey opened this issue May 31, 2018 · 8 comments
Closed

Multiple Forms in TabView calling setState() in onChanged callback #18063

qwezey opened this issue May 31, 2018 · 8 comments
Labels
c: crash Stack traces logged to the console f: material design flutter/packages/flutter/material repository. framework flutter/packages/flutter repository. See also f: labels.

Comments

@qwezey
Copy link
qwezey commented May 31, 2018

This happens every time I have a dirty form on one tab, move to another tab with the same form and come back.

@MSchrenker commented a test case below to reproduce a similar issue.

flutter: ══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════
flutter: The following assertion was thrown building NotificationListener<KeepAliveNotification>:
flutter: 'package:flutter/src/rendering/object.dart': Failed assertion: line 2756 pos 14:
flutter: '_debugUltimatePreviousSiblingOf(after, equals: _firstChild)': is not true.
flutter:
flutter: Either the assertion indicates an error in the framework itself, or we should provide substantially
flutter: more information in this error message to help you determine and fix the underlying cause.
flutter: In either case, please report this assertion by filing a bug on GitHub:
flutter:   https://github.com/flutter/flutter/issues/new
flutter:
flutter: When the exception was thrown, this was the stack:
flutter: #2      _RenderSliverMultiBoxAdaptor&RenderSliver&ContainerRenderObjectMixin._insertIntoChildList (package:flutter/src/rendering/object.dart)
flutter: #3      _RenderSliverMultiBoxAdaptor&RenderSliver&ContainerRenderObjectMixin.insert (package:flutter/src/rendering/object.dart:2790:5)
flutter: #4      RenderSliverMultiBoxAdaptor.insert (package:flutter/src/rendering/sliver_multi_box_adaptor.dart:209:11)
flutter: #5      SliverMultiBoxAdaptorElement.insertChildRenderObject (package:flutter/src/widgets/sliver.dart:863:18)
flutter: #6      RenderObjectElement.attachRenderObject (package:flutter/src/widgets/framework.dart:4513:35)
flutter: #7      RenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4279:5)
flutter: #8      SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4653:11)
flutter: #9      Element.inflateWidget (package:flutter/src/widgets/framework.dart:2907:14)
flutter: #10     Element.updateChild (package:flutter/src/widgets/framework.dart:2710:12)
flutter: #11     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3653:16)
flutter: #12     Element.rebuild (package:flutter/src/widgets/framework.dart:3495:5)
flutter: #13     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3622:5)
flutter: #14     ComponentElement.mount (package:flutter/src/widgets/framework.dart:3617:5)
flutter: #15     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2907:14)
flutter: #16     Element.updateChild (package:flutter/src/widgets/framework.dart:2710:12)
flutter: #17     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3653:16)
flutter: #18     Element.rebuild (package:flutter/src/widgets/framework.dart:3495:5)
flutter: #19     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3622:5)
flutter: #20     ComponentElement.mount (package:flutter/src/widgets/framework.dart:3617:5)
flutter: #21     ParentDataElement.mount (package:flutter/src/widgets/framework.dart:3955:11)
flutter: #22     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2907:14)
flutter: #23     Element.updateChild (package:flutter/src/widgets/framework.dart:2710:12)
flutter: #24     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3653:16)
flutter: #25     Element.rebuild (package:flutter/src/widgets/framework.dart:3495:5)
flutter: #26     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3622:5)
flutter: #27     StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:3769:11)
flutter: #28     ComponentElement.mount (package:flutter/src/widgets/framework.dart:3617:5)
flutter: #29     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2907:14)
flutter: #30     Element.updateChild (package:flutter/src/widgets/framework.dart:2710:12)
flutter: #31     SliverMultiBoxAdaptorElement.updateChild (package:flutter/src/widgets/sliver.dart:744:36)
flutter: #32     SliverMultiBoxAdaptorElement.performRebuild (package:flutter/src/widgets/sliver.dart:702:34)
flutter: #33     SliverMultiBoxAdaptorElement.update (package:flutter/src/widgets/sliver.dart:671:7)
flutter: #34     Element.updateChild (package:flutter/src/widgets/framework.dart:2699:15)
flutter: #35     RenderObjectElement.updateChildren (package:flutter/src/widgets/framework.dart:4379:32)
flutter: #36     MultiChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4769:17)
flutter: #37     _ViewportElement.update (package:flutter/src/widgets/viewport.dart:192:11)
flutter: #38     Element.updateChild (package:flutter/src/widgets/framework.dart:2699:15)
flutter: #39     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3653:16)
flutter: #40     Element.rebuild (package:flutter/src/widgets/framework.dart:3495:5)
flutter: #41     ProxyElement.update (package:flutter/src/widgets/framework.dart:3909:5)
flutter: #42     Element.updateChild (package:flutter/src/widgets/framework.dart:2699:15)
flutter: #43     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4661:14)
flutter: #44     Element.updateChild (package:flutter/src/widgets/framework.dart:2699:15)
flutter: #45     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4661:14)
flutter: #46     Element.updateChild (package:flutter/src/widgets/framework.dart:2699:15)
flutter: #47     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4661:14)
flutter: #48     Element.updateChild (package:flutter/src/widgets/framework.dart:2699:15)
flutter: #49     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4661:14)
flutter: #50     Element.updateChild (package:flutter/src/widgets/framework.dart:2699:15)
flutter: #51     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3653:16)
flutter: #52     Element.rebuild (package:flutter/src/widgets/framework.dart:3495:5)
flutter: #53     StatefulElement.update (package:flutter/src/widgets/framework.dart:3799:5)
flutter: #54     Element.updateChild (package:flutter/src/widgets/framework.dart:2699:15)
flutter: #55     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4661:14)
flutter: #56     Element.updateChild (package:flutter/src/widgets/framework.dart:2699:15)
flutter: #57     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3653:16)
flutter: #58     Element.rebuild (package:flutter/src/widgets/framework.dart:3495:5)
flutter: #59     StatefulElement.update (package:flutter/src/widgets/framework.dart:3799:5)
flutter: #60     Element.updateChild (package:flutter/src/widgets/framework.dart:2699:15)
flutter: #61     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3653:16)
flutter: #62     Element.rebuild (package:flutter/src/widgets/framework.dart:3495:5)
flutter: #63     StatelessElement.update (package:flutter/src/widgets/framework.dart:3702:5)
flutter: #64     Element.updateChild (package:flutter/src/widgets/framework.dart:2699:15)
flutter: #65     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3653:16)
flutter: #66     Element.rebuild (package:flutter/src/widgets/framework.dart:3495:5)
flutter: #67     StatefulElement.update (package:flutter/src/widgets/framework.dart:3799:5)
flutter: #68     Element.updateChild (package:flutter/src/widgets/framework.dart:2699:15)
flutter: #69     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3653:16)
flutter: #70     Element.rebuild (package:flutter/src/widgets/framework.dart:3495:5)
flutter: #71     StatelessElement.update (package:flutter/src/widgets/framework.dart:3702:5)
flutter: #72     Element.updateChild (package:flutter/src/widgets/framework.dart:2699:15)
flutter: #73     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3653:16)
flutter: #74     Element.rebuild (package:flutter/src/widgets/framework.dart:3495:5)
flutter: #75     StatefulElement.update (package:flutter/src/widgets/framework.dart:3799:5)
flutter: #76     Element.updateChild (package:flutter/src/widgets/framework.dart:2699:15)
flutter: #77     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3653:16)
flutter: #78     Element.rebuild (package:flutter/src/widgets/framework.dart:3495:5)
flutter: #79     ProxyElement.update (package:flutter/src/widgets/framework.dart:3909:5)
flutter: #80     Element.updateChild (package:flutter/src/widgets/framework.dart:2699:15)
flutter: #81     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3653:16)
flutter: #82     Element.rebuild (package:flutter/src/widgets/framework.dart:3495:5)
flutter: #83     ProxyElement.update (package:flutter/src/widgets/framework.dart:3909:5)
flutter: #84     Element.updateChild (package:flutter/src/widgets/framework.dart:2699:15)
flutter: #85     RenderObjectElement.updateChildren (package:flutter/src/widgets/framework.dart:4379:32)
flutter: #86     MultiChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4769:17)
flutter: #87     Element.updateChild (package:flutter/src/widgets/framework.dart:2699:15)
flutter: #88     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3653:16)
flutter: #89     Element.rebuild (package:flutter/src/widgets/framework.dart:3495:5)
flutter: #90     StatefulElement.update (package:flutter/src/widgets/framework.dart:3799:5)
flutter: #91     Element.updateChild (package:flutter/src/widgets/framework.dart:2699:15)
flutter: #92     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3653:16)
flutter: #93     Element.rebuild (package:flutter/src/widgets/framework.dart:3495:5)
flutter: #94     ProxyElement.update (package:flutter/src/widgets/framework.dart:3909:5)
flutter: #95     Element.updateChild (package:flutter/src/widgets/framework.dart:2699:15)
flutter: #96     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3653:16)
flutter: #97     Element.rebuild (package:flutter/src/widgets/framework.dart:3495:5)
flutter: #98     StatefulElement.update (package:flutter/src/widgets/framework.dart:3799:5)
flutter: #99     Element.updateChild (package:flutter/src/widgets/framework.dart:2699:15)
flutter: #100    SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4661:14)
flutter: #101    Element.updateChild (package:flutter/src/widgets/framework.dart:2699:15)
flutter: #102    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3653:16)
flutter: #103    Element.rebuild (package:flutter/src/widgets/framework.dart:3495:5)
flutter: #104    StatelessElement.update (package:flutter/src/widgets/framework.dart:3702:5)
flutter: #105    Element.updateChild (package:flutter/src/widgets/framework.dart:2699:15)
flutter: #106    SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4661:14)
flutter: #107    Element.updateChild (package:flutter/src/widgets/framework.dart:2699:15)
flutter: #108    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3653:16)
flutter: #109    Element.rebuild (package:flutter/src/widgets/framework.dart:3495:5)
flutter: #110    StatefulElement.update (package:flutter/src/widgets/framework.dart:3799:5)
flutter: #111    Element.updateChild (package:flutter/src/widgets/framework.dart:2699:15)
flutter: #112    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3653:16)
flutter: #113    Element.rebuild (package:flutter/src/widgets/framework.dart:3495:5)
flutter: #114    StatefulElement.update (package:flutter/src/widgets/framework.dart:3799:5)
flutter: #115    Element.updateChild (package:flutter/src/widgets/framework.dart:2699:15)
flutter: #116    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3653:16)
flutter: #117    Element.rebuild (package:flutter/src/widgets/framework.dart:3495:5)
flutter: #118    ProxyElement.update (package:flutter/src/widgets/framework.dart:3909:5)
flutter: #119    Element.updateChild (package:flutter/src/widgets/framework.dart:2699:15)
flutter: #120    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3653:16)
flutter: #121    Element.rebuild (package:flutter/src/widgets/framework.dart:3495:5)
flutter: #122    ProxyElement.update (package:flutter/src/widgets/framework.dart:3909:5)
flutter: #123    Element.updateChild (package:flutter/src/widgets/framework.dart:2699:15)
flutter: #124    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3653:16)
flutter: #125    Element.rebuild (package:flutter/src/widgets/framework.dart:3495:5)
flutter: #126    StatefulElement.update (package:flutter/src/widgets/framework.dart:3799:5)
flutter: #127    Element.updateChild (package:flutter/src/widgets/framework.dart:2699:15)
flutter: #128    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3653:16)
flutter: #129    Element.rebuild (package:flutter/src/widgets/framework.dart:3495:5)
flutter: #130    BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2242:33)
flutter: #131    _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&RendererBinding&WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:626:20)
flutter: #132    _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:208:5)
flutter: #133    _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:990:15)
flutter: #134    _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:930:9)
flutter: #135    _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:842:5)
flutter: #136    _invoke (dart:ui/hooks.dart:120:13)
flutter: #137    _drawFrame (dart:ui/hooks.dart:109:3)
flutter: (elided 2 frames from class _AssertionError)
flutter: ════════════════════════════════════════════════════════════════════════════════════════════════════
flutter: Another exception was thrown: 'package:flutter/src/rendering/object.dart': Failed assertion: line 2756 pos 14: '_debugUltimatePreviousSiblingOf(after, equals: _firstChild)': is not true.
flutter: Another exception was thrown: 'package:flutter/src/rendering/object.dart': Failed assertion: line 2756 pos 14: '_debugUltimatePreviousSiblingOf(after, equals: _firstChild)': is not true.
flutter: Another exception was thrown: 'package:flutter/src/rendering/object.dart': Failed assertion: line 2756 pos 14: '_debugUltimatePreviousSiblingOf(after, equals: _firstChild)': is not true.
flutter: Another exception was thrown: 'package:flutter/src/widgets/framework.dart': Failed assertion: line 3497 pos 14: 'owner._debugCurrentBuildTarget == this': is not true.
flutter: Another exception was thrown: 'package:flutter/src/widgets/framework.dart': Failed assertion: line 3497 pos 14: 'owner._debugCurrentBuildTarget == this': is not true.
flutter: Another exception was thrown: 'package:flutter/src/widgets/framework.dart': Failed assertion: line 3497 pos 14: 'owner._debugCurrentBuildTarget == this': is not true.
flutter: Another exception was thrown: 'package:flutter/src/widgets/framework.dart': Failed assertion: line 3497 pos 14: 'owner._debugCurrentBuildTarget == this': is not true.
flutter: Another exception was thrown: 'package:flutter/src/widgets/framework.dart': Failed assertion: line 3497 pos 14: 'owner._debugCurrentBuildTarget == this': is not true.
flutter: Another exception was thrown: 'package:flutter/src/widgets/framework.dart': Failed assertion: line 3497 pos 14: 'owner._debugCurrentBuildTarget == this': is not true.
flutter: Another exception was thrown: 'package:flutter/src/widgets/framework.dart': Failed assertion: line 3497 pos 14: 'owner._debugCurrentBuildTarget == this': is not true.
flutter: Another exception was thrown: 'package:flutter/src/widgets/framework.dart': Failed assertion: line 3497 pos 14: 'owner._debugCurrentBuildTarget == this': is not true.
flutter: Another exception was thrown: 'package:flutter/src/widgets/framework.dart': Failed assertion: line 3497 pos 14: 'owner._debugCurrentBuildTarget == this': is not true.
flutter: Another exception was thrown: 'package:flutter/src/widgets/framework.dart': Failed assertion: line 3497 pos 14: 'owner._debugCurrentBuildTarget == this': is not true.
flutter: Another exception was thrown: 'package:flutter/src/widgets/framework.dart': Failed assertion: line 3497 pos 14: 'owner._debugCurrentBuildTarget == this': is not true.
flutter: Another exception was thrown: 'package:flutter/src/widgets/framework.dart': Failed assertion: line 3497 pos 14: 'owner._debugCurrentBuildTarget == this': is not true.
flutter: Another exception was thrown: 'package:flutter/src/widgets/framework.dart': Failed assertion: line 3497 pos 14: 'owner._debugCurrentBuildTarget == this': is not true.
flutter: Another exception was thrown: 'package:flutter/src/widgets/framework.dart': Failed assertion: line 3497 pos 14: 'owner._debugCurrentBuildTarget == this': is not true.
flutter: Another exception was thrown: 'package:flutter/src/widgets/framework.dart': Failed assertion: line 3497 pos 14: 'owner._debugCurrentBuildTarget == this': is not true.
flutter: Another exception was thrown: 'package:flutter/src/widgets/framework.dart': Failed assertion: line 3497 pos 14: 'owner._debugCurrentBuildTarget == this': is not true.
flutter: Another exception was thrown: 'package:flutter/src/widgets/framework.dart': Failed assertion: line 3497 pos 14: 'owner._debugCurrentBuildTarget == this': is not true.
flutter: Another exception was thrown: 'package:flutter/src/widgets/framework.dart': Failed assertion: line 3497 pos 14: 'owner._debugCurrentBuildTarget == this': is not true.
flutter: Another exception was thrown: 'package:flutter/src/widgets/framework.dart': Failed assertion: line 3497 pos 14: 'owner._debugCurrentBuildTarget == this': is not true.
flutter: Another exception was thrown: type 'RenderErrorBox' is not a subtype of type 'RenderSemanticsGestureHandler'
@HansMuller
Copy link
Contributor

Could you provide a small test case that demonstrates this problem?

@HansMuller HansMuller added the f: material design flutter/packages/flutter/material repository. label May 31, 2018
@MSchrenker
Copy link
MSchrenker commented Jun 1, 2018

I got the same error. I reduced my much larger code to the one below. It looks like it happens only, when the tabController has an listener, which calls setState. As soon as setState is not called anymore everything is fine. Is it a bad idea to call setState in the listener? I used it to dynamically apply a page title to the new widget in front.

Reproduction of the issue

  1. start app and
  2. swipe left often, then it should happen.
import 'package:flutter/material.dart';

void main() => runApp(new MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return new MaterialApp(
      title: 'Flutter issue 18063',
      theme: new ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: new TabbedPage(title: 'Flutter issue 18063'),
    );
  }
}

class TabbedPage extends StatefulWidget {
  TabbedPage({Key key, this.title}) : super(key: key);

  final String title;

  @override
  _TabbedPageState createState() => new _TabbedPageState();
}

class _TabbedPageState extends State<TabbedPage>
    with SingleTickerProviderStateMixin {
  List<Widget> pages;
  TabController _tabController;

  @override
  void initState() {
    super.initState();

    pages = [
      new FormScreen(),
      new FormScreen(),
      new FormScreen(),
      new FormScreen(),
      new FormScreen(),
      new FormScreen(),
      new FormScreen(),
    ];

    _tabController = new TabController(length: pages.length, vsync: this);
    _tabController.addListener(_handleTabSelection);
  }

  void _handleTabSelection() {
    setState(() {});
  }

  @override
  void dispose() {
    _tabController.dispose();
    super.dispose();
  }

  @override
  Widget build(BuildContext context) {

    return new Scaffold(
      appBar: new AppBar(
        title: new Text(widget.title),
      ),
      resizeToAvoidBottomPadding: true,
      body: new Column(
        mainAxisAlignment: MainAxisAlignment.center,
        children: <Widget>[
          new Expanded(
              child: new TabBarView(
            children: pages.map((Widget widget) {
              return new Container(
                child: widget,
              );
            }).toList(),
            controller: _tabController,
          ))
        ],
      ),
    );
  }
}

class FormScreen extends StatefulWidget {
  @override
  State<StatefulWidget> createState() {
    return new _FormScreenState();
  }
}

class _FormScreenState extends State<FormScreen> {

  @override
  Widget build(BuildContext context) {
    return new Container(
      child: new Padding(
        padding: new EdgeInsets.all(8.0),
        child: new Form(
          autovalidate: false,
          child: new ListView(
            children: <Widget>[
              new TextFormField(
                decoration: new InputDecoration(
                  labelText: "Customer ",
                  hintText: "Hint Costumer",
                ),
              ),
              new TextFormField(
                decoration: new InputDecoration(
                    labelText: "Friend", hintText: 'Label Friend'),
              ),
            ],
          ),
        ),
      ),
    );
  }
}

@qwezey
Copy link
Author
qwezey commented Jun 1, 2018

@MSchrenker I think your correct because I have a listener on my form that calls setState().

@MSchrenker
Copy link

@qwezey I am not sure anymore. On my slower laptop and with an android emulator, I get the error, when there is a listener defined. There I don't need to call setState. But on the two physical devices I tried, it works fine as long setState is not called in the listener. I guess it has something to do with the tabController and its management/caching of its pages.

Additionally here the flutter doctor protocoll:

C:\Users\Marko>Flutter doctor --verbose
[√] Flutter (Channel beta, v0.4.4, on Microsoft Windows [Version 10.0.17134.48], locale de-DE)
• Flutter version 0.4.4 at C:\Workspaces\flutter
• Framework revision f9bb428 (3 weeks ago), 2018-05-11 21:44:54 -0700
• Engine revision 06afdfe
• Dart version 2.0.0-dev.54.0.flutter-46ab040e58

[√] Android toolchain - develop for Android devices (Android SDK 27.0.3)
• Android SDK at C:\Users\Marko\AppData\Local\Android\android-studio\sdk
• Android NDK location not configured (optional; useful for native profiling support)
• Platform android-27, build-tools 27.0.3
• ANDROID_HOME = C:\Users\Marko\AppData\Local\Android\android-studio\sdk
• Java binary at: C:\Program Files\Android\Android Studio3_1\jre\bin\java
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b02)
• All Android licenses accepted.

[!] Android Studio (version 3.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.
X Unable to determine bundled Java version.
• Try updating or re-installing Android Studio.

[√] Android Studio (version 3.1)
• Android Studio at C:\Program Files\Android\Android Studio3_1
• Flutter plugin version 24.2.1
• Dart plugin version 173.4700
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b02)

[!] IntelliJ IDEA Community Edition (version 2017.2)
• IntelliJ at C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2017.1.3
X Flutter plugin not installed; this adds Flutter specific functionality.
X Dart plugin not installed; this adds Dart specific functionality.
• For information about installing plugins, see
https://flutter.io/intellij-setup/#installing-the-plugins

[√] Connected devices (1 available)
• Nexus 10 • R32D702T2VB • android-arm • Android 5.1.1 (API 22)

! Doctor found issues in 2 categories.

@qwezey
Copy link
Author
qwezey commented Jun 1, 2018

@MSchrenker that confirms the issue arises when you call setState() in the listener. In my case, I need to call setState() because I want that as the user types the submit button be disabled when the form is not validated and enabled when the form is validated.

@qwezey
Copy link
Author
qwezey commented Jun 1, 2018

@MSchrenker I just realized you don't have a listener on your Form, but I do on the onChanged property that calls setState() to get my desired result.

@qwezey qwezey changed the title Something with the Form Multiple Forms in TabView calling setState() in onChanged callback Jun 1, 2018
@Hixie Hixie added the framework flutter/packages/flutter repository. See also f: labels. label Jun 12, 2018
@Hixie Hixie added this to the Goals milestone Jun 12, 2018
@Hixie Hixie added the c: crash Stack traces logged to the console label Jun 12, 2018
@Hixie
Copy link
Contributor
Hixie commented Jun 12, 2018

Duplicate of #11895.

@Hixie Hixie closed this as completed Jun 12, 2018
@github-actions
Copy link

This thread has been automatically locked since there has not been any recent activity after it was closed. If you are still experiencing a similar issue, please open a new bug, including the output of flutter doctor -v and a minimal reproduction of the issue.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Aug 15, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
c: crash Stack traces logged to the console f: material design flutter/packages/flutter/material repository. framework flutter/packages/flutter repository. See also f: labels.
Projects
None yet
Development

No branches or pull requests

4 participants