Precache final image only if mounted

This commit is contained in:
Vishnu Mohandas 2020-06-15 04:41:48 +05:30
parent 5386d808fe
commit 464829e650

View file

@ -99,7 +99,9 @@ class _ZoomableImageState extends State<ZoomableImage>
scaleStateChangedCallback: _scaleStateChangedCallback,
minScale: PhotoViewComputedScale.contained,
gaplessPlayback: true,
heroAttributes: PhotoViewHeroAttributes(tag: widget.photo.hashCode),
heroAttributes: PhotoViewHeroAttributes(
tag: widget.photo.localId ??
"uploaded_" + widget.photo.uploadedFileId.toString()),
);
} else {
return loadWidget;
@ -185,13 +187,15 @@ class _ZoomableImageState extends State<ZoomableImage>
}
void _onFinalImageLoaded(ImageProvider imageProvider, BuildContext context) {
precacheImage(imageProvider, context).then((value) {
if (mounted) {
setState(() {
_imageProvider = imageProvider;
_loadedFinalImage = true;
});
}
});
if (mounted) {
precacheImage(imageProvider, context).then((value) {
if (mounted) {
setState(() {
_imageProvider = imageProvider;
_loadedFinalImage = true;
});
}
});
}
}
}