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:58 +0200 |
commit | debc8fb497bc22c0f9f34d785852981a87475c30 (patch) | |
tree | d5d7f95e79f7b5b27a6fdfb322d795189ba7bd9c /qt4 | |
parent | 3ca67a59fc15782abb1e479eb2b8916de5b1b6ed (diff) |
Take into account the embFile returned by the core may be NULL
Diffstat (limited to 'qt4')
-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(); |