Skip to content

Commit 0b1add3

Browse files
Merge pull request samarthagarwal#8 from Saifallak/master
Unhandled Exception(setState called after dispose). Disposed off `timer` and `controller`. Thanks to @Saifallak
2 parents 89b8420 + 4be7203 commit 0b1add3

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

lib/loaders/color_loader.dart

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ class _ColorLoaderState extends State<ColorLoader>
1616
with SingleTickerProviderStateMixin {
1717
final List<Color> colors;
1818
final Duration duration;
19+
Timer timer;
1920

2021
_ColorLoaderState(this.colors, this.duration);
2122

@@ -59,7 +60,7 @@ class _ColorLoaderState extends State<ColorLoader>
5960

6061
tweenIndex = 0;
6162

62-
Timer.periodic(duration, (Timer t) {
63+
timer = Timer.periodic(duration, (Timer t) {
6364
setState(() {
6465
tweenIndex = (tweenIndex + 1) % colors.length;
6566
});
@@ -82,7 +83,8 @@ class _ColorLoaderState extends State<ColorLoader>
8283

8384
@override
8485
void dispose() {
85-
super.dispose();
86+
timer.cancel();
8687
controller.dispose();
88+
super.dispose();
8789
}
8890
}

0 commit comments

Comments
 (0)