diff options
Diffstat (limited to 'src/pdf/plugins/imageformats/pdf/qpdfiohandler.cpp')
-rw-r--r-- | src/pdf/plugins/imageformats/pdf/qpdfiohandler.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/pdf/plugins/imageformats/pdf/qpdfiohandler.cpp b/src/pdf/plugins/imageformats/pdf/qpdfiohandler.cpp index 195759028..bb3e7c929 100644 --- a/src/pdf/plugins/imageformats/pdf/qpdfiohandler.cpp +++ b/src/pdf/plugins/imageformats/pdf/qpdfiohandler.cpp @@ -62,7 +62,7 @@ int QPdfIOHandler::imageCount() const bool QPdfIOHandler::read(QImage *image) { if (load(device())) { - if (m_page >= m_doc->pageCount()) + if (m_doc.isNull() || m_page >= m_doc->pageCount()) return false; if (m_page < 0) m_page = 0; @@ -110,9 +110,11 @@ bool QPdfIOHandler::read(QImage *image) options.setScaledSize(pageSize); image->fill(m_backColor.rgba()); QPainter p(image); - QImage pageImage = m_doc->render(m_page, finalSize, options); - p.drawImage(0, 0, pageImage); - p.end(); + if (!m_doc.isNull()) { + QImage pageImage = m_doc->render(m_page, finalSize, options); + p.drawImage(0, 0, pageImage); + p.end(); + } } return true; } |