summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlbert Astals Cid <aacid@kde.org>2012-08-30 00:35:40 +0200
committerAlbert Astals Cid <aacid@kde.org>2012-08-30 00:45:58 +0200
commitdebc8fb497bc22c0f9f34d785852981a87475c30 (patch)
treed5d7f95e79f7b5b27a6fdfb322d795189ba7bd9c
parent3ca67a59fc15782abb1e479eb2b8916de5b1b6ed (diff)
Take into account the embFile returned by the core may be NULL
-rw-r--r--qt4/src/poppler-embeddedfile-private.h4
-rw-r--r--qt4/src/poppler-embeddedfile.cc19
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();