Commit 1bb40238e0d788e9de1ad752dcb7bfd4ff975885
1 parent
5033e3b2
Add method QPDFObject::getObjGen and remove QPDFObjectHandle::og
Showing
3 changed files
with
9 additions
and
7 deletions
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() || |