Committed by
David PHAM-VAN
PdfPreview unhandled exception when popped
When route which contains PdfPreview is popped, we got a:
Unhandled Exception: setState() called after dispose()
The solution is to add if (!mounted) return; in the file pdf_preview.dart in the function _raster() just after await for (final PdfRaster page in Printing.raster(_doc, dpi: dpi)) {
Showing
2 changed files
with
4 additions
and
0 deletions
| @@ -120,6 +120,9 @@ class _PdfPreviewState extends State<PdfPreview> { | @@ -120,6 +120,9 @@ class _PdfPreviewState extends State<PdfPreview> { | ||
| 120 | 120 | ||
| 121 | var pageNum = 0; | 121 | var pageNum = 0; |
| 122 | await for (final PdfRaster page in Printing.raster(_doc, dpi: dpi)) { | 122 | await for (final PdfRaster page in Printing.raster(_doc, dpi: dpi)) { |
| 123 | + if (!mounted) { | ||
| 124 | + return; | ||
| 125 | + } | ||
| 123 | setState(() { | 126 | setState(() { |
| 124 | if (pages.length <= pageNum) { | 127 | if (pages.length <= pageNum) { |
| 125 | pages.add(_PdfPreviewPage( | 128 | pages.add(_PdfPreviewPage( |
-
Please register or login to post a comment