diff options
author | Albert Astals Cid <aacid@kde.org> | 2012-08-30 00:35:40 +0200 |
---|---|---|
committer | Albert Astals Cid <aacid@kde.org> | 2012-08-30 00:45:27 +0200 |
commit | 01528eaedc77d5559f6dc4229b66f1a819678fb7 (patch) | |
tree | 7837bec18c7a99f108f48ab708c3d6cbbe3489c4 /qt4/src | |
parent | c1fba45be106dc30a5136efe41493b1cf6d2a1b5 (diff) |
Take into account the embFile returned by the core may be NULL
Diffstat (limited to 'qt4/src')
-rw-r--r-- | qt4/src/poppler-embeddedfile-private.h | 4 | ||||
-rw-r--r-- | qt4/src/poppler-embeddedfile.cc | 19 |
2 files changed, 15 insertions, 8 deletions
diff --git a/qt4/src/poppler-embeddedfile-private.h b/qt4/src/poppler-embeddedfile-private.h index f109d36b..83549dad 100644 --- a/qt4/src/poppler-embeddedfile-private.h +++ b/qt4/src/poppler-embeddedfile-private.h @@ -1,5 +1,5 @@ /* poppler-embeddedfile-private.h: Qt4 interface to poppler - * Copyright (C) 2005, 2008, 2009, Albert Astals Cid <aacid@kde.org> + * Copyright (C) 2005, 2008, 2009, 2012, Albert Astals Cid <aacid@kde.org> * Copyright (C) 2005, Brad Hards <bradh@frogmouth.net> * Copyright (C) 2008, 2011, Pino Toscano <pino@kde.org> * @@ -31,6 +31,8 @@ class EmbeddedFileData public: EmbeddedFileData(FileSpec *fs); ~EmbeddedFileData(); + + EmbFile *embFile() const; FileSpec *filespec; }; diff --git a/qt4/src/poppler-embeddedfile.cc b/qt4/src/poppler-embeddedfile.cc index 1052fd1e..cebd3e76 100644 --- a/qt4/src/poppler-embeddedfile.cc +++ b/qt4/src/poppler-embeddedfile.cc @@ -1,5 +1,5 @@ /* poppler-document.cc: qt interface to poppler - * Copyright (C) 2005, 2008, 2009, Albert Astals Cid <aacid@kde.org> + * Copyright (C) 2005, 2008, 2009, 2012, Albert Astals Cid <aacid@kde.org> * Copyright (C) 2005, Brad Hards <bradh@frogmouth.net> * Copyright (C) 2008, 2011, Pino Toscano <pino@kde.org> * @@ -44,6 +44,11 @@ EmbeddedFileData::~EmbeddedFileData() delete filespec; } +EmbFile *EmbeddedFileData::embFile() const +{ + return filespec->isOk() ? filespec->getEmbeddedFile() : NULL; +} + EmbeddedFile::EmbeddedFile(EmbFile *embfile) : m_embeddedFile(0) @@ -75,30 +80,30 @@ QString EmbeddedFile::description() const int EmbeddedFile::size() const { - return m_embeddedFile->filespec->getEmbeddedFile()->size(); + return m_embeddedFile->embFile() ? m_embeddedFile->embFile()->size() : -1; } QDateTime EmbeddedFile::modDate() const { - GooString *goo = m_embeddedFile->filespec->getEmbeddedFile()->modDate(); + GooString *goo = m_embeddedFile->embFile() ? m_embeddedFile->embFile()->modDate() : NULL; return goo ? convertDate(goo->getCString()) : QDateTime(); } QDateTime EmbeddedFile::createDate() const { - GooString *goo = m_embeddedFile->filespec->getEmbeddedFile()->createDate(); + GooString *goo = m_embeddedFile->embFile() ? m_embeddedFile->embFile()->createDate() : NULL; return goo ? convertDate(goo->getCString()) : QDateTime(); } QByteArray EmbeddedFile::checksum() const { - GooString *goo = m_embeddedFile->filespec->getEmbeddedFile()->checksum(); + GooString *goo = m_embeddedFile->embFile() ? m_embeddedFile->embFile()->checksum() : NULL; return goo ? QByteArray::fromRawData(goo->getCString(), goo->getLength()) : QByteArray(); } QString EmbeddedFile::mimeType() const { - GooString *goo = m_embeddedFile->filespec->getEmbeddedFile()->mimeType(); + GooString *goo = m_embeddedFile->embFile() ? m_embeddedFile->embFile()->mimeType() : NULL; return goo ? QString(goo->getCString()) : QString(); } @@ -106,7 +111,7 @@ QByteArray EmbeddedFile::data() { if (!isValid()) return QByteArray(); - Stream *stream = m_embeddedFile->filespec->getEmbeddedFile()->stream(); + Stream *stream = m_embeddedFile->embFile() ? m_embeddedFile->embFile()->stream() : NULL; if (!stream) return QByteArray(); |