From f289c6b44b6a68cb010d3a195be41553db9edc21 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Wed, 26 Aug 2009 13:31:39 -0600 Subject: [PATCH] Fix #3294 (Calibre 0.6.8 E-book library management has stopped working) --- src/calibre/utils/poppler/__init__.py | 2 +- src/calibre/utils/poppler/poppler.cpp | 9 +++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/calibre/utils/poppler/__init__.py b/src/calibre/utils/poppler/__init__.py index 5c44a99d8b..47d357b933 100644 --- a/src/calibre/utils/poppler/__init__.py +++ b/src/calibre/utils/poppler/__init__.py @@ -22,6 +22,7 @@ def get_metadata(stream, cover=True): raw = stream.read() doc = poppler.PDFDoc() doc.load(raw) + del raw title = doc.title if not title or not title.strip(): title = _('Unknown') @@ -55,7 +56,6 @@ def get_metadata(stream, cover=True): if cdata is not None: mi.cover_data = ('jpg', cdata) del doc - del raw return mi diff --git a/src/calibre/utils/poppler/poppler.cpp b/src/calibre/utils/poppler/poppler.cpp index db14bf9a55..b64536c85d 100644 --- a/src/calibre/utils/poppler/poppler.cpp +++ b/src/calibre/utils/poppler/poppler.cpp @@ -176,15 +176,16 @@ poppler_PDFDoc_render_page(poppler_PDFDoc *self, PyObject *args, PyObject *kwarg int num; if (!PyArg_ParseTuple(args, "i|ff", &num, &xdpi, &ydpi)) return ans; - if ( num < 0 || num >= self->doc->numPages()) { - PyErr_SetString(PyExc_ValueError, "Invalid page number"); - return ans; - } if ( self->doc->isLocked()) { PyErr_SetString(PyExc_ValueError, "This document is copyrighted."); return ans; } + if ( num < 0 || num >= self->doc->numPages()) { + PyErr_SetString(PyExc_ValueError, "Invalid page number"); + return ans; + } + page = self->doc->page(num); img = page->renderToImage(xdpi, ydpi); if (img.isNull()) {