Parsing structure element

This commit is contained in:
Jakub Melka
2020-07-22 19:52:23 +02:00
parent 2daf7bccf4
commit 707f68fa19
3 changed files with 198 additions and 24 deletions

View File

@ -67,17 +67,23 @@ public:
explicit inline PDFMarkedObjectsLock(PDFMarkedObjectsContext* context, PDFObjectReference reference) :
m_context(context),
m_reference(reference),
m_locked(!context->isMarked(reference))
m_locked(!reference.isValid() || !context->isMarked(reference))
{
if (m_locked)
if (m_locked && reference.isValid())
{
context->mark(reference);
}
}
explicit inline PDFMarkedObjectsLock(PDFMarkedObjectsContext* context, const PDFObject& object) :
PDFMarkedObjectsLock(context, object.isReference() ? object.getReference() : PDFObjectReference())
{
}
inline ~PDFMarkedObjectsLock()
{
if (m_locked)
if (m_locked && m_reference.isValid())
{
m_context->unmark(m_reference);
}