From 8f0c595dfd846cc15b03d58ac5fb42f01adf87e5 Mon Sep 17 00:00:00 2001 From: Albert Astals Cid Date: Fri, 7 Dec 2007 19:17:53 +0000 Subject: [PATCH] Use pagesize with double values to divide, if not the rounding up and down and whatnow hits us and we get a page of the different size we wanted. BUG: 153621 svn path=/trunk/KDE/kdegraphics/okular/; revision=746081 --- generators/poppler/generator_pdf.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/generators/poppler/generator_pdf.cpp b/generators/poppler/generator_pdf.cpp index bc819eadb..e17e2ec0b 100644 --- a/generators/poppler/generator_pdf.cpp +++ b/generators/poppler/generator_pdf.cpp @@ -1703,9 +1703,6 @@ void PDFPixmapGeneratorThread::run() if ( page->rotation() % 2 ) qSwap( pageWidth, pageHeight ); - double fakeDpiX = width * 72.0 / pageWidth, - fakeDpiY = height * 72.0 / pageHeight; - // setup Okular:: output device: text page is generated only if we are at 72dpi. // since we can pre-generate the TextPage at the right res.. why not? bool genTextPage = !page->hasTextPage() && @@ -1720,7 +1717,11 @@ void PDFPixmapGeneratorThread::run() // 1. set OutputDev parameters and Generate contents Poppler::Page *pp = d->generator->pdfdoc->page( page->number() ); + const QSizeF &pageSizeF = pp->pageSizeF(); + double fakeDpiX = width * 72.0 / pageSizeF.width(), + fakeDpiY = height * 72.0 / pageSizeF.height(); + // 2. grab data from the OutputDev and store it locally (note takeIMAGE) #ifndef NDEBUG if ( d->m_image )