diff --git a/generators/poppler/generator_pdf.cpp b/generators/poppler/generator_pdf.cpp index aa8909427f204a221fa55ad8aaa33670c19e7baf..c4fbd97649e94767feb948561a205e95b4ff73d5 100644 --- a/generators/poppler/generator_pdf.cpp +++ b/generators/poppler/generator_pdf.cpp @@ -1023,13 +1023,17 @@ bool PDFGenerator::setAAOptions() { bool changed = false; #ifdef HAVE_POPPLER_0_6 - Poppler::Document::RenderHints oldhints = pdfdoc->renderHints(); + static Poppler::Document::RenderHints oldhints = 0; #define SET_HINT(hintname, hintdefvalue, hintflag) \ { \ bool newhint = documentMetaData(hintname, hintdefvalue).toBool(); \ if (newhint != (oldhints & hintflag)) \ { \ - pdfdoc->setRenderHint(hintflag); \ + pdfdoc->setRenderHint(hintflag, newhint); \ + if (newhint) \ + oldhints |= hintflag; \ + else \ + oldhints &= ~(int)hintflag; \ changed = true; \ } \ }