Apologies for the spammage, but there's a memory leak in the previous patch. 
Fix it like this:


commit 52e6896f65f5b8f235ca765c744ac781bdd99517
Author: Damian at mba <[email protected]>
Date:   Fri Jan 4 09:39:32 2013 +0100

    fix a memory leak in the progress callback setup

diff --git a/poppler/Page.cc b/poppler/Page.cc
index 110005c..0cb1f38 100644
--- a/poppler/Page.cc
+++ b/poppler/Page.cc
@@ -506,7 +506,7 @@ void Page::displaySlice(OutputDev *out, double hDPI, double 
vDPI,
                         void *annotDisplayDecideCbkData,
                         void (*progressCbk)(int pageNum, float progressPct, 
void* user_data),
                         void *progressCbkData ) {
-  Gfx *gfx, *dummyGfx;
+  Gfx *gfx;
   Object obj;
   Annots *annotList;
   int i;
@@ -529,10 +529,11 @@ void Page::displaySlice(OutputDev *out, double hDPI, 
double vDPI,
     if ( progressCbk ) {
       // create dummy output device to count operations
       OutputDev* dummyOutputDev = new DummyOutputDev();
-      dummyGfx = createGfx(dummyOutputDev, hDPI, vDPI, rotate, useMediaBox, 
crop, 
+      Gfx* dummyGfx = createGfx(dummyOutputDev, hDPI, vDPI, rotate, 
useMediaBox, crop, 
           sliceX, sliceY, sliceW, sliceH, printing, abortCheckCbk, 
abortCheckCbkData);
       dummyGfx->display(&obj);
       unsigned long totalOperations = dummyGfx->getOperationCount();
+      delete dummyGfx;
       // set progress callback on the real gfx object
       gfx->setProgressCallback( progressCbk, progressCbkData, num/*pageNum*/, 
totalOperations );
     }



_______________________________________________
poppler mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/poppler

Reply via email to