@@ -75,7 +75,9 @@ protected Void doInBackground(Void... params) {
7575 //it is very rare case, but sometimes null can appear
7676 if (task != null ) {
7777 PagePart part = proceed (task );
78- if (renderingTasks .remove (task )) {
78+ if (part == null ) {
79+ break ;
80+ } else if (renderingTasks .remove (task )) {
7981 publishProgress (part );
8082 } else {
8183 part .getRenderedBitmap ().recycle ();
@@ -120,9 +122,14 @@ private PagePart proceed(RenderingTask renderingTask) {
120122 Bitmap render = Bitmap .createBitmap (w , h , Bitmap .Config .ARGB_8888 );
121123 calculateBounds (w , h , renderingTask .bounds );
122124
123- pdfiumCore .renderPageBitmap (pdfDocument , render , renderingTask .page ,
124- roundedRenderBounds .left , roundedRenderBounds .top ,
125- roundedRenderBounds .width (), roundedRenderBounds .height (), renderingTask .annotationRendering );
125+ if (!isCancelled ()) {
126+ pdfiumCore .renderPageBitmap (pdfDocument , render , renderingTask .page ,
127+ roundedRenderBounds .left , roundedRenderBounds .top ,
128+ roundedRenderBounds .width (), roundedRenderBounds .height (), renderingTask .annotationRendering );
129+ } else {
130+ render .recycle ();
131+ return null ;
132+ }
126133
127134 if (!renderingTask .bestQuality ) {
128135 Bitmap cpy = render .copy (Bitmap .Config .RGB_565 , false );
0 commit comments