poppler/Annot.cc | 10 ++++------ poppler/GfxFont.cc | 14 +++++++------- poppler/GfxFont.h | 4 ++-- poppler/Link.cc | 6 +++--- poppler/Link.h | 2 +- poppler/StructElement.h | 2 +- poppler/StructTreeRoot.h | 4 ++-- qt5/src/poppler-link.cc | 6 +++--- qt5/src/poppler-page.cc | 8 +++----- 9 files changed, 26 insertions(+), 30 deletions(-)
New commits: commit 926ea4645fa36d29d4bf89009719716668103366 Author: Albert Astals Cid <[email protected]> Date: Thu Mar 28 00:09:28 2019 +0100 Use the newly introduced Ref::INVALID() diff --git a/poppler/Annot.cc b/poppler/Annot.cc index fd2ea0fa..668d0c5a 100644 --- a/poppler/Annot.cc +++ b/poppler/Annot.cc @@ -3773,7 +3773,7 @@ void AnnotWidget::initialize(PDFDoc *docA, Dict *dict) { border = std::make_unique<AnnotBorderBS>(obj1.getDict()); } - updatedAppearanceStream.num = updatedAppearanceStream.gen = -1; + updatedAppearanceStream = Ref::INVALID(); } LinkAction* AnnotWidget::getAdditionalAction(AdditionalActionsType type) @@ -4100,9 +4100,7 @@ bool AnnotAppearanceBuilder::drawText(const GooString *text, const GooString *da if (forceZapfDingbats) { // We are forcing ZaDb but the font does not exist // so create a fake one - Ref r; // dummy Ref, it's not used at all in this codepath - r.num = -1; - r.gen = -1; + Ref r = Ref::INVALID(); // dummy Ref, it's not used at all in this codepath Dict *d = new Dict(xref); fontToFree = new Gfx8BitFont(xref, "ZaDb", r, new GooString("ZapfDingbats"), fontType1, r, d); delete d; @@ -4908,7 +4906,7 @@ void AnnotWidget::updateAppearanceStream() { // If this the first time updateAppearanceStream() is called on this widget, // destroy the AP dictionary because we are going to create a new one. - if (updatedAppearanceStream.num == -1) { + if (updatedAppearanceStream == Ref::INVALID()) { invalidateAppearance(); // Delete AP dictionary and all referenced streams } @@ -4928,7 +4926,7 @@ void AnnotWidget::updateAppearanceStream() // If this the first time updateAppearanceStream() is called on this widget, // create a new AP dictionary containing the new appearance stream. // Otherwise, just update the stream we had created previously. - if (updatedAppearanceStream.num == -1) { + if (updatedAppearanceStream == Ref::INVALID()) { // Write the appearance stream updatedAppearanceStream = xref->addIndirectObject(&obj1); diff --git a/poppler/GfxFont.cc b/poppler/GfxFont.cc index 44282d94..db6f0b8d 100644 --- a/poppler/GfxFont.cc +++ b/poppler/GfxFont.cc @@ -601,7 +601,7 @@ GfxFontLoc *GfxFont::locateFont(XRef *xref, PSOutputDev *ps) { } //----- embedded font - if (embFontID.num >= 0) { + if (embFontID != Ref::INVALID()) { embed = true; Object refObj(embFontID); Object embFontObj = refObj.fetch(xref); @@ -823,7 +823,7 @@ char *GfxFont::readEmbFontFile(XRef *xref, int *len) { Object obj2 = obj1.fetch(xref); if (!obj2.isStream()) { error(errSyntaxError, -1, "Embedded font file is not a stream"); - embFontID.num = -1; + embFontID = Ref::INVALID(); *len = 0; return nullptr; } @@ -1027,7 +1027,7 @@ Gfx8BitFont::Gfx8BitFont(XRef *xref, const char *tagA, Ref idA, GooString *nameA // for non-embedded fonts, don't trust the ascent/descent/bbox // values from the font descriptor - if (builtinFont && embFontID.num < 0) { + if (builtinFont && embFontID == Ref::INVALID()) { ascent = 0.001 * builtinFont->ascent; descent = 0.001 * builtinFont->descent; fontBBox[0] = 0.001 * builtinFont->bbox[0]; @@ -1123,7 +1123,7 @@ Gfx8BitFont::Gfx8BitFont(XRef *xref, const char *tagA, Ref idA, GooString *nameA ffT1 = nullptr; ffT1C = nullptr; buf = nullptr; - if (type == fontType1 && embFontID.num >= 0) { + if (type == fontType1 && embFontID != Ref::INVALID()) { if ((buf = readEmbFontFile(xref, &len))) { if ((ffT1 = FoFiType1::make(buf, len))) { if (ffT1->getName()) { @@ -1139,7 +1139,7 @@ Gfx8BitFont::Gfx8BitFont(XRef *xref, const char *tagA, Ref idA, GooString *nameA } gfree(buf); } - } else if (type == fontType1C && embFontID.num >= 0) { + } else if (type == fontType1C && embFontID != Ref::INVALID()) { if ((buf = readEmbFontFile(xref, &len))) { if ((ffT1C = FoFiType1C::make(buf, len))) { if (ffT1C->getName()) { @@ -1159,7 +1159,7 @@ Gfx8BitFont::Gfx8BitFont(XRef *xref, const char *tagA, Ref idA, GooString *nameA // get default base encoding if (!baseEnc) { - if (builtinFont && embFontID.num < 0) { + if (builtinFont && embFontID == Ref::INVALID()) { baseEnc = builtinFont->defaultBaseEnc; hasEncoding = true; } else if (type == fontTrueType) { @@ -1197,7 +1197,7 @@ Gfx8BitFont::Gfx8BitFont(XRef *xref, const char *tagA, Ref idA, GooString *nameA // T1C->T1 conversion (since the 'seac' operator depends on having // the accents in the encoding), so we fill in any gaps from // StandardEncoding - if (type == fontType1C && embFontID.num >= 0 && baseEncFromFontFile) { + if (type == fontType1C && embFontID != Ref::INVALID() && baseEncFromFontFile) { for (i = 0; i < 256; ++i) { if (!enc[i] && standardEncoding[i]) { enc[i] = (char *)standardEncoding[i]; diff --git a/poppler/GfxFont.h b/poppler/GfxFont.h index 0b1b03e3..740a29c2 100644 --- a/poppler/GfxFont.h +++ b/poppler/GfxFont.h @@ -218,8 +218,8 @@ public: // Invalidate an embedded font // Returns false if there is no embedded font. bool invalidateEmbeddedFont() { - if (embFontID.num >= 0) { - embFontID.num = -1; + if (embFontID != Ref::INVALID()) { + embFontID = Ref::INVALID(); return true; } return false; diff --git a/poppler/Link.cc b/poppler/Link.cc index bd9e6a6c..33b842f1 100644 --- a/poppler/Link.cc +++ b/poppler/Link.cc @@ -638,7 +638,7 @@ LinkNamed::~LinkNamed() { //------------------------------------------------------------------------ LinkMovie::LinkMovie(const Object *obj) { - annotRef.num = -1; + annotRef = Ref::INVALID(); annotTitle = nullptr; const Object &annotationObj = obj->dictLookupNF("Annotation"); @@ -651,7 +651,7 @@ LinkMovie::LinkMovie(const Object *obj) { annotTitle = tmp.getString()->copy(); } - if ((annotTitle == nullptr) && (annotRef.num == -1)) { + if ((annotTitle == nullptr) && (annotRef == Ref::INVALID())) { error(errSyntaxError, -1, "Movie action is missing both the Annot and T keys"); } @@ -733,7 +733,7 @@ LinkRendition::LinkRendition(const Object *obj) { js = nullptr; int operationCode = -1; - screenRef.num = -1; + screenRef = Ref::INVALID(); if (obj->isDict()) { Object tmp = obj->dictLookup("JS"); diff --git a/poppler/Link.h b/poppler/Link.h index 801b75cc..08949ea8 100644 --- a/poppler/Link.h +++ b/poppler/Link.h @@ -360,7 +360,7 @@ public: bool hasRenditionObject() const { return renditionObj.isDict(); } const Object* getRenditionObject() const { return &renditionObj; } - bool hasScreenAnnot() const { return screenRef.num != -1; } + bool hasScreenAnnot() const { return screenRef != Ref::INVALID(); } Ref getScreenAnnot() const { return screenRef; } RenditionOperation getOperation() const { return operation; } diff --git a/poppler/StructElement.h b/poppler/StructElement.h index 9030fb3d..4cc052a0 100644 --- a/poppler/StructElement.h +++ b/poppler/StructElement.h @@ -155,7 +155,7 @@ public: bool isGrouping() const; inline bool isContent() const { return (type == MCID) || isObjectRef(); } - inline bool isObjectRef() const { return (type == OBJR && c->ref.num != -1 && c->ref.gen != -1); } + inline bool isObjectRef() const { return (type == OBJR && c->ref != Ref::INVALID()); } int getMCID() const { return c->mcid; } Ref getObjectRef() const { return c->ref; } diff --git a/poppler/StructTreeRoot.h b/poppler/StructTreeRoot.h index 41b1cd85..58b129c8 100644 --- a/poppler/StructTreeRoot.h +++ b/poppler/StructTreeRoot.h @@ -5,7 +5,7 @@ // This file is licensed under the GPLv2 or later // // Copyright 2013, 2014 Igalia S.L. -// Copyright 2018 Albert Astals Cid <[email protected]> +// Copyright 2018, 2019 Albert Astals Cid <[email protected]> // Copyright 2018 Adrian Johnson <[email protected]> // Copyright 2018 Adam Reichold <[email protected]> // @@ -64,7 +64,7 @@ private: Ref ref; StructElement *element; - Parent(): element(nullptr) { ref.num = ref.gen = -1; } + Parent(): element(nullptr) { ref = Ref::INVALID(); } Parent(const Parent &p) = default; Parent& operator=(const Parent &) = default; ~Parent() {} diff --git a/qt5/src/poppler-link.cc b/qt5/src/poppler-link.cc index da3d5d8b..099871d8 100644 --- a/qt5/src/poppler-link.cc +++ b/qt5/src/poppler-link.cc @@ -1,5 +1,5 @@ /* poppler-link.cc: qt interface to poppler - * Copyright (C) 2006-2007, 2013, 2016-2018, Albert Astals Cid + * Copyright (C) 2006-2007, 2013, 2016-2019, Albert Astals Cid * Copyright (C) 2007-2008, Pino Toscano <[email protected]> * Copyright (C) 2010 Hib Eris <[email protected]> * Copyright (C) 2012, Tobias Koenig <[email protected]> @@ -626,7 +626,7 @@ class LinkMoviePrivate : public LinkPrivate bool LinkRendition::isReferencedAnnotation( const ScreenAnnotation *annotation ) const { Q_D( const LinkRendition ); - if ( d->annotationReference.num != -1 && d->annotationReference == annotation->d_ptr->pdfObjectReference() ) + if ( d->annotationReference != Ref::INVALID() && d->annotationReference == annotation->d_ptr->pdfObjectReference() ) { return true; } @@ -681,7 +681,7 @@ class LinkMoviePrivate : public LinkPrivate bool LinkMovie::isReferencedAnnotation( const MovieAnnotation *annotation ) const { Q_D( const LinkMovie ); - if ( d->annotationReference.num != -1 && d->annotationReference == annotation->d_ptr->pdfObjectReference() ) + if ( d->annotationReference != Ref::INVALID() && d->annotationReference == annotation->d_ptr->pdfObjectReference() ) { return true; } diff --git a/qt5/src/poppler-page.cc b/qt5/src/poppler-page.cc index c6e3d526..3e750620 100644 --- a/qt5/src/poppler-page.cc +++ b/qt5/src/poppler-page.cc @@ -1,7 +1,7 @@ /* poppler-page.cc: qt interface to poppler * Copyright (C) 2005, Net Integration Technologies, Inc. * Copyright (C) 2005, Brad Hards <[email protected]> - * Copyright (C) 2005-2018, Albert Astals Cid <[email protected]> + * Copyright (C) 2005-2019, Albert Astals Cid <[email protected]> * Copyright (C) 2005, Stefan Kebekus <[email protected]> * Copyright (C) 2006-2011, Pino Toscano <[email protected]> * Copyright (C) 2008 Carlos Garcia Campos <[email protected]> @@ -299,8 +299,7 @@ Link* PageData::convertLinkActionToLink(::LinkAction * a, DocumentData *parentDo const QString title = ( lm->hasAnnotTitle() ? UnicodeParsedString( lm->getAnnotTitle() ) : QString() ); - Ref reference; - reference.num = reference.gen = -1; + Ref reference = Ref::INVALID(); if ( lm->hasAnnotRef() ) reference = *lm->getAnnotRef(); @@ -329,8 +328,7 @@ Link* PageData::convertLinkActionToLink(::LinkAction * a, DocumentData *parentDo { ::LinkRendition *lrn = (::LinkRendition *)a; - Ref reference; - reference.num = reference.gen = -1; + Ref reference = Ref::INVALID(); if ( lrn->hasScreenAnnot() ) reference = lrn->getScreenAnnot(); _______________________________________________ poppler mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/poppler
