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
