diff --git a/coders/dpx.c b/coders/dpx.c index afa2d60..281bf91 100644 --- a/coders/dpx.c +++ b/coders/dpx.c
@@ -1217,6 +1217,9 @@ MagickTrue : MagickFalse); for (y=0; y < (ssize_t) image->rows; y++) { + const void + *pixels; + MagickBooleanType sync; @@ -1230,29 +1233,24 @@ count, offset; - unsigned char - *pixels; - if (status == MagickFalse) continue; - pixels=GetQuantumPixels(quantum_info); - { - count=ReadBlob(image,extent,pixels); - if ((image->progress_monitor != (MagickProgressMonitor) NULL) && - (image->previous == (Image *) NULL)) - { - MagickBooleanType - proceed; - - proceed=SetImageProgress(image,LoadImageTag,(MagickOffsetType) row, - image->rows); - if (proceed == MagickFalse) - status=MagickFalse; - } - offset=row++; - } + pixels=ReadBlobStream(image,length,GetQuantumPixels(quantum_info), + &count); if (count != (ssize_t) extent) status=MagickFalse; + if ((image->progress_monitor != (MagickProgressMonitor) NULL) && + (image->previous == (Image *) NULL)) + { + MagickBooleanType + proceed; + + proceed=SetImageProgress(image,LoadImageTag,(MagickOffsetType) row, + image->rows); + if (proceed == MagickFalse) + status=MagickFalse; + } + offset=row++; q=QueueAuthenticPixels(image,0,offset,image->columns,1,exception); if (q == (Quantum *) NULL) {