diff options
author | Simon Hausmann <simon.hausmann@theqtcompany.com> | 2014-12-16 00:57:43 +0100 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@theqtcompany.com> | 2014-12-16 00:57:43 +0100 |
commit | 4b08c36a0a912312d3470d6dc298b50d4640be00 (patch) | |
tree | 5210653cc905bdfa94998415722423dc705df1c3 | |
parent | c5c391e87636e5c4dbc3022b9d58626c1533f226 (diff) |
Fix small memory leak, don't leak the QPdfDocument
-rw-r--r-- | examples/widgets/pdfviewer/mainwindow.h | 2 | ||||
-rw-r--r-- | examples/widgets/pdfviewer/pagerenderer.cpp | 10 | ||||
-rw-r--r-- | examples/widgets/pdfviewer/pagerenderer.h | 3 |
3 files changed, 7 insertions, 8 deletions
diff --git a/examples/widgets/pdfviewer/mainwindow.h b/examples/widgets/pdfviewer/mainwindow.h index 5d638ec..d49fc50 100644 --- a/examples/widgets/pdfviewer/mainwindow.h +++ b/examples/widgets/pdfviewer/mainwindow.h @@ -11,7 +11,6 @@ class MainWindow; } class QLineEdit; -class QPdfDocument; class SequentialPageWidget; class MainWindow : public QMainWindow @@ -43,7 +42,6 @@ private slots: private: Ui::MainWindow *ui; - QPdfDocument *m_doc; SequentialPageWidget *m_pageWidget; QLineEdit *m_zoomEdit; QLineEdit *m_pageEdit; diff --git a/examples/widgets/pdfviewer/pagerenderer.cpp b/examples/widgets/pdfviewer/pagerenderer.cpp index 8831649..fca4a0f 100644 --- a/examples/widgets/pdfviewer/pagerenderer.cpp +++ b/examples/widgets/pdfviewer/pagerenderer.cpp @@ -26,15 +26,15 @@ PageRenderer::~PageRenderer() QVector<QSizeF> PageRenderer::openDocument(const QUrl &location) { if (location.isLocalFile()) - m_doc->load(location.toLocalFile()); + m_doc.load(location.toLocalFile()); else { qCWarning(lcExample, "non-local file loading is not implemented"); return QVector<QSizeF>(); } // TODO maybe do in run() if it takes too long QVector<QSizeF> pageSizes; - for (int page = 0; page < m_doc->pageCount(); ++page) - pageSizes.append(m_doc->pageSize(page)); + for (int page = 0; page < m_doc.pageCount(); ++page) + pageSizes.append(m_doc.pageSize(page)); return pageSizes; } @@ -53,9 +53,9 @@ void PageRenderer::run() void PageRenderer::renderPage(int page, qreal zoom) { - QSizeF size = m_doc->pageSize(page) * m_zoom; + QSizeF size = m_doc.pageSize(page) * m_zoom; QElapsedTimer timer; timer.start(); - const QImage &img = m_doc->render(page, size); + const QImage &img = m_doc.render(page, size); qreal secs = timer.nsecsElapsed() / 1000000000.0; if (secs < m_minRenderTime) m_minRenderTime = secs; diff --git a/examples/widgets/pdfviewer/pagerenderer.h b/examples/widgets/pdfviewer/pagerenderer.h index f121b6a..7b11e9b 100644 --- a/examples/widgets/pdfviewer/pagerenderer.h +++ b/examples/widgets/pdfviewer/pagerenderer.h @@ -6,6 +6,7 @@ #include <QPixmap> #include <QRunnable> #include <QThread> +#include <QPdfDocument> class QPdfDocument; @@ -30,7 +31,7 @@ private: void renderPage(int page, qreal zoom); private: - QPdfDocument *m_doc; + QPdfDocument m_doc; // current request only int m_page; |