diff --git a/generators/comicbook/document.cpp b/generators/comicbook/document.cpp index 874ee81be..6e650efb2 100644 --- a/generators/comicbook/document.cpp +++ b/generators/comicbook/document.cpp @@ -25,15 +25,11 @@ Document::Document() Document::~Document() { - delete mUnrar; - delete mZip; } bool Document::open( const QString &fileName ) { - delete mZip; - delete mUnrar; - mPageMap.clear(); + close(); /** * We have a zip archive @@ -93,6 +89,18 @@ bool Document::open( const QString &fileName ) return true; } +void Document::close() +{ + if ( !( mZip || mUnrar ) ) + return; + + delete mZip; + mZip = 0; + delete mUnrar; + mUnrar = 0; + mPageMap.clear(); +} + void Document::extractImageFiles( const QStringList &list ) { QStringList files( list ); diff --git a/generators/comicbook/document.h b/generators/comicbook/document.h index 4e806e5cc..6b665a613 100644 --- a/generators/comicbook/document.h +++ b/generators/comicbook/document.h @@ -26,6 +26,7 @@ class Document ~Document(); bool open( const QString &fileName ); + void close(); int pages() const; QStringList pageTitles() const; diff --git a/generators/comicbook/generator_comicbook.cpp b/generators/comicbook/generator_comicbook.cpp index 78485a554..d12a11519 100644 --- a/generators/comicbook/generator_comicbook.cpp +++ b/generators/comicbook/generator_comicbook.cpp @@ -76,6 +76,8 @@ bool ComicBookGenerator::loadDocument( const QString & fileName, QVector