Skip to content

A MixViewObserverState was used after being disposed #120

Closed
@rjahn

Description

@rjahn

If you do a manual animateTo(context, index) and change the page/show different widgets before the animation is done, following error will be logged:

The following assertion was thrown during a scheduler callback:
A MixViewObserverState was used after being disposed.

Once you have called dispose() on a MixViewObserverState, it can no longer be used.
When the exception was thrown, this was the stack: 
#0      MixViewObserverState._debugAssertNotDisposed.<anonymous closure> (package:scrollview_observer/src/sliver/sliver_observer_view.dart:160:9)
#1      MixViewObserverState._debugAssertNotDisposed (package:scrollview_observer/src/sliver/sliver_observer_view.dart:166:6)
#2      MixViewObserverState._notifySliverListeners (package:scrollview_observer/src/sliver/sliver_observer_view.dart:418:12)
#3      MixViewObserverState.handleContexts (package:scrollview_observer/src/sliver/sliver_observer_view.dart:195:5)
#4      ObserverWidgetState._setupSliverController.<anonymous closure> (package:scrollview_observer/src/common/observer_widget.dart:368:7)
#5      ObserverControllerForScroll._handleScrollEnd.<anonymous closure> (package:scrollview_observer/src/common/observer_controller.dart:1169:38)
#6      SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1442:15)
#7      SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1369:11)
#8      SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:1208:5)
#9      _invoke (dart:ui/hooks.dart:316:13)
#10     PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:428:5)
#11     _drawFrame (dart:ui/hooks.dart:288:31)

I have no simple demo application for you, but I hope it's clear what's happening?

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions