marcos930807 / awesomeDialogs

A new Flutter package project for simple a awesome dialogs
Other
339 stars 110 forks source link

Looking up a deactivated widget's ancestor is unsafe. #68

Closed PcolBP closed 3 years ago

PcolBP commented 3 years ago

Reproduce:

  1. Open dialog,
  2. minimalize emulator,
  3. wait few minutes,
  4. unminimalize emulator
  5. press button on dialog to exit dialog
  6. error occur:
    I/flutter ( 4722): ══╡ EXCEPTION CAUGHT BY GESTURE ╞═══════════════════════════════════════════════════════════════════
    I/flutter ( 4722): The following assertion was thrown while handling a gesture:
    I/flutter ( 4722): Looking up a deactivated widget's ancestor is unsafe.
    I/flutter ( 4722): At this point the state of the widget's element tree is no longer stable.
    I/flutter ( 4722): To safely refer to a widget's ancestor in its dispose() method, save a reference to the ancestor by
    I/flutter ( 4722): calling dependOnInheritedWidgetOfExactType() in the widget's didChangeDependencies() method.
    I/flutter ( 4722): 
    I/flutter ( 4722): When the exception was thrown, this was the stack:
    I/flutter ( 4722): #0      Element._debugCheckStateIsActiveForAncestorLookup.<anonymous closure> (package:flutter/src/widgets/framework.dart:3864:9)
    I/flutter ( 4722): #1      Element._debugCheckStateIsActiveForAncestorLookup (package:flutter/src/widgets/framework.dart:3878:6)
    I/flutter ( 4722): #2      Element.findRootAncestorStateOfType (package:flutter/src/widgets/framework.dart:3939:12)
    I/flutter ( 4722): #3      Navigator.of (package:flutter/src/widgets/navigator.dart:2704:27)
    I/flutter ( 4722): #4      AwesomeDialog.dissmiss (package:awesome_dialog/awesome_dialog.dart:239:41)
    I/flutter ( 4722): #5      AwesomeDialog._buildFancyButtonOk.<anonymous closure> (package:awesome_dialog/awesome_dialog.dart:215:11)
    I/flutter ( 4722): #6      _AnimatedButtonState.build.<anonymous closure> (package:awesome_dialog/src/animated_button.dart:57:26)
    I/flutter ( 4722): #7      GestureRecognizer.invokeCallback (package:flutter/src/gestures/recognizer.dart:182:24)
    I/flutter ( 4722): #8      TapGestureRecognizer.handleTapUp (package:flutter/src/gestures/tap.dart:607:11)
    I/flutter ( 4722): #9      BaseTapGestureRecognizer._checkUp (package:flutter/src/gestures/tap.dart:296:5)
    I/flutter ( 4722): #10     BaseTapGestureRecognizer.handlePrimaryPointer (package:flutter/src/gestures/tap.dart:230:7)
    I/flutter ( 4722): #11     PrimaryPointerGestureRecognizer.handleEvent (package:flutter/src/gestures/recognizer.dart:475:9)
    I/flutter ( 4722): #12     PointerRouter._dispatch (package:flutter/src/gestures/pointer_router.dart:93:12)
    I/flutter ( 4722): #13     PointerRouter._dispatchEventToRoutes.<anonymous closure> (package:flutter/src/gestures/pointer_router.dart:138:9)
    I/flutter ( 4722): #14     _LinkedHashMapMixin.forEach (dart:collection-patch/compact_hash.dart:397:8)
    I/flutter ( 4722): #15     PointerRouter._dispatchEventToRoutes (package:flutter/src/gestures/pointer_router.dart:136:18)
    I/flutter ( 4722): #16     PointerRouter.route (package:flutter/src/gestures/pointer_router.dart:122:7)
    I/flutter ( 4722): #17     GestureBinding.handleEvent (package:flutter/src/gestures/binding.dart:381:19)
    I/flutter ( 4722): #18     GestureBinding.dispatchEvent (package:flutter/src/gestures/binding.dart:361:22)
    I/flutter ( 4722): #19     RendererBinding.dispatchEvent (package:flutter/src/rendering/binding.dart:278:11)
    I/flutter ( 4722): #20     GestureBinding._handlePointerEventImmediately (package:flutter/src/gestures/binding.dart:316:7)
    I/flutter ( 4722): #21     GestureBinding.handlePointerEvent (package:flutter/src/gestures/binding.dart:280:5)
    I/flutter ( 4722): #22     GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:238:7)
    I/flutter ( 4722): #23     GestureBinding._handlePointerDataPacket (package:flutter/src/gestures/binding.dart:221:7)
    I/flutter ( 4722): #27     _invoke1 (dart:ui/hooks.dart:180:10)
    I/flutter ( 4722): #28     PlatformDispatcher._dispatchPointerDataPacket (dart:ui/platform_dispatcher.dart:276:7)
    I/flutter ( 4722): #29     _dispatchPointerDataPacket (dart:ui/hooks.dart:96:31)
    I/flutter ( 4722): (elided 3 frames from dart:async)
    I/flutter ( 4722): 
    I/flutter ( 4722): Handler: "onTap"
    I/flutter ( 4722): Recognizer:
    I/flutter ( 4722):   TapGestureRecognizer#7967c
    I/flutter ( 4722): ════════════════════════════════════════════════════════════════════════════════════════════════════
    I/flutter ( 4722): ----------------FIREBASE CRASHLYTICS----------------
    I/flutter ( 4722): The following exception was thrown while handling a gesture:
    I/flutter ( 4722): Looking up a deactivated widget's ancestor is unsafe.
    I/flutter ( 4722): At this point the state of the widget's element tree is no longer stable.
    I/flutter ( 4722): To safely refer to a widget's ancestor in its dispose() method, save a reference to the ancestor by calling dependOnInheritedWidgetOfExactType() in the widget's didChangeDependencies() method.
    I/flutter ( 4722): Handler: "onTap"
    I/flutter ( 4722): Recognizer: TapGestureRecognizer#7967c
    I/flutter ( 4722): #0      Element._debugCheckStateIsActiveForAncestorLookup.<anonymous closure> (package:flutter/src/widgets/framework.dart:3864:9)
    I/flutter ( 4722): #1      Element._debugCheckStateIsActiveForAncestorLookup (package:flutter/src/widgets/framework.dart:3878:6)
    I/flutter ( 4722): #2      Element.findRootAncestorStateOfType (package:flutter/src/widgets/framework.dart:3939:12)
    I/flutter ( 4722): #3      Navigator.of (package:flutter/src/widgets/navigator.dart:2704:27)
    I/flutter ( 4722): #4      AwesomeDialog.dissmiss (package:awesome_dialog/awesome_dialog.dart:239:41)
    I/flutter ( 4722): #5      AwesomeDialog._buildFancyButtonOk.<anonymous closure> (package:awesome_dialog/awesome_dialog.dart:215:11)
    I/flutter ( 4722): #6      _AnimatedButtonState.build.<anonymous closure> (package:awesome_dialog/src/animated_button.dart:57:26)
    I/flutter ( 4722): #7      GestureRecognizer.invokeCallback (package:flutter/src/gestures/recognizer.dart:182:24)
    I/flutter ( 4722): #8      TapGestureRecognizer.handleTapUp (package:flutter/src/gestures/tap.dart:607:11)
    I/flutter ( 4722): #9      BaseTapGestureRecognizer._checkUp (package:flutter/src/gestures/tap.dart:296:5)
    I/flutter ( 4722): #10     BaseTapGestureRecognizer
    I/flutter ( 4722): ----------------------------------------------------
Junesui commented 2 years ago

same issue.

hi how did you solve this problem?