computib
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)) {
@@ -3,6 +3,7 @@ @@ -3,6 +3,7 @@
3 ## 3.6.0 3 ## 3.6.0
4 4
5 - Added pdfFileName prop to PdfPreview Widget [Marcos Rodriguez] 5 - Added pdfFileName prop to PdfPreview Widget [Marcos Rodriguez]
  6 +- Fix PdfPreview unhandled exception when popped [computib]
6 7
7 ## 3.5.0 8 ## 3.5.0
8 9
@@ -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(