Commit 1bb40238e0d788e9de1ad752dcb7bfd4ff975885

Authored by m-holger
1 parent 5033e3b2

Add method QPDFObject::getObjGen and remove QPDFObjectHandle::og

include/qpdf/QPDFObject.hh
@@ -103,6 +103,12 @@ class QPDFObject @@ -103,6 +103,12 @@ class QPDFObject
103 { 103 {
104 return value->qpdf; 104 return value->qpdf;
105 } 105 }
  106 + QPDFObjGen
  107 + getObjGen() const
  108 + {
  109 + return value->og;
  110 + }
  111 +
106 void 112 void
107 setDescription(QPDF* qpdf, std::string const& description) 113 setDescription(QPDF* qpdf, std::string const& description)
108 { 114 {
include/qpdf/QPDFObjectHandle.hh
@@ -1584,7 +1584,6 @@ class QPDFObjectHandle @@ -1584,7 +1584,6 @@ class QPDFObjectHandle
1584 QPDF* qpdf, 1584 QPDF* qpdf,
1585 QPDFObjGen const& og, 1585 QPDFObjGen const& og,
1586 std::shared_ptr<QPDFObject> const& obj) : 1586 std::shared_ptr<QPDFObject> const& obj) :
1587 - og(og),  
1588 obj(obj) 1587 obj(obj)
1589 { 1588 {
1590 } 1589 }
@@ -1640,7 +1639,6 @@ class QPDFObjectHandle @@ -1640,7 +1639,6 @@ class QPDFObjectHandle
1640 // Moving members of QPDFObjectHandle into a smart pointer incurs 1639 // Moving members of QPDFObjectHandle into a smart pointer incurs
1641 // a substantial performance penalty since QPDFObjectHandle 1640 // a substantial performance penalty since QPDFObjectHandle
1642 // objects are copied around so frequently. 1641 // objects are copied around so frequently.
1643 - QPDFObjGen og;  
1644 std::shared_ptr<QPDFObject> obj; 1642 std::shared_ptr<QPDFObject> obj;
1645 }; 1643 };
1646 1644
@@ -1864,19 +1862,19 @@ class QPDFObjectHandle::QPDFArrayItems @@ -1864,19 +1862,19 @@ class QPDFObjectHandle::QPDFArrayItems
1864 inline QPDFObjGen 1862 inline QPDFObjGen
1865 QPDFObjectHandle::getObjGen() const 1863 QPDFObjectHandle::getObjGen() const
1866 { 1864 {
1867 - return og; 1865 + return isInitialized() ? obj->getObjGen() : QPDFObjGen();
1868 } 1866 }
1869 1867
1870 inline int 1868 inline int
1871 QPDFObjectHandle::getObjectID() const 1869 QPDFObjectHandle::getObjectID() const
1872 { 1870 {
1873 - return og.getObj(); 1871 + return getObjGen().getObj();
1874 } 1872 }
1875 1873
1876 inline int 1874 inline int
1877 QPDFObjectHandle::getGeneration() const 1875 QPDFObjectHandle::getGeneration() const
1878 { 1876 {
1879 - return og.getGen(); 1877 + return getObjGen().getGen();
1880 } 1878 }
1881 1879
1882 inline bool 1880 inline bool
libqpdf/QPDFObjectHandle.cc
@@ -2282,8 +2282,6 @@ QPDFObjectHandle::copyObject( @@ -2282,8 +2282,6 @@ QPDFObjectHandle::copyObject(
2282 " reserved object handle direct"); 2282 " reserved object handle direct");
2283 } 2283 }
2284 2284
2285 - og = QPDFObjGen();  
2286 -  
2287 std::shared_ptr<QPDFObject> new_obj; 2285 std::shared_ptr<QPDFObject> new_obj;
2288 2286
2289 if (isBool() || isInteger() || isName() || isNull() || isReal() || 2287 if (isBool() || isInteger() || isName() || isNull() || isReal() ||