fix: prevent early dispose of CardSwiperController #38
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
First of all, thanks for great package 🚀
Description
I was facing the issue that the
CardSwiperController
I saved in my state stopped working when theCardSwiper
in the child widget was rebuilt. When calling a method upon theCardSwiperController
I received an error saying that the underlying stream was closed.When investigating the code I discovered that
CardSwiper
is callingdispose
on theCardSwiperController
that was passed in as a parameter leading to the closing of the stream. My belief is that it's not the responsibility ofCardSwiper
to dispose ofCardSwiperController
since this widget did not create the controller. Instead it should be disposed by the parent widget that is passingCardSwiperController
toCardSwiper
, as it's done inexample/lib/main.dart
.This commit fixed the issue for me.
Pre-launch Checklist
pubspec.yaml
with an appropriate new version according to the pub versioning philosophy, or this PR is exempt from version changes.CHANGELOG.md
to add a description of the change, following repository CHANGELOG style.///
).