Commit 218f069a69ef74d0b0cc9c7ba0796e9360cef379
Committed by
Jay Berkenbilt
1 parent
d03ca882
Add new method QPDFObject::setDefaultDescription
Showing
3 changed files
with
17 additions
and
9 deletions
libqpdf/QPDF.cc
| ... | ... | @@ -1848,9 +1848,7 @@ QPDF::resolve(QPDFObjGen og) |
| 1848 | 1848 | } |
| 1849 | 1849 | |
| 1850 | 1850 | auto result(this->m->obj_cache[og].object); |
| 1851 | - if (!result->hasDescription()) { | |
| 1852 | - result->setDescription(this, ("object " + og.unparse(' '))); | |
| 1853 | - } | |
| 1851 | + result->setDefaultDescription(this, og); | |
| 1854 | 1852 | } |
| 1855 | 1853 | |
| 1856 | 1854 | void |
| ... | ... | @@ -1946,10 +1944,7 @@ QPDF::resolveObjectsInStream(int obj_stream_number) |
| 1946 | 1944 | QPDFObjectHandle |
| 1947 | 1945 | QPDF::newIndirect(QPDFObjGen const& og, std::shared_ptr<QPDFObject> const& obj) |
| 1948 | 1946 | { |
| 1949 | - obj->setObjGen(this, og); | |
| 1950 | - if (!obj->hasDescription()) { | |
| 1951 | - obj->setDescription(this, "object " + og.unparse(' ')); | |
| 1952 | - } | |
| 1947 | + obj->setDefaultDescription(this, og); | |
| 1953 | 1948 | return QPDFObjectHandle::Factory::newIndirect(obj); |
| 1954 | 1949 | } |
| 1955 | 1950 | ... | ... |
libqpdf/qpdf/QPDFObject_private.hh
| ... | ... | @@ -68,7 +68,6 @@ class QPDFObject |
| 68 | 68 | { |
| 69 | 69 | return value->og; |
| 70 | 70 | } |
| 71 | - | |
| 72 | 71 | void |
| 73 | 72 | setDescription( |
| 74 | 73 | QPDF* qpdf, std::string const& description, qpdf_offset_t offset = -1) |
| ... | ... | @@ -112,9 +111,14 @@ class QPDFObject |
| 112 | 111 | } |
| 113 | 112 | |
| 114 | 113 | void |
| 115 | - setObjGen(QPDF* qpdf, QPDFObjGen const& og) | |
| 114 | + setDefaultDescription(QPDF* qpdf, QPDFObjGen const& og) | |
| 116 | 115 | { |
| 117 | 116 | // Intended for use by the QPDF class |
| 117 | + value->setDefaultDescription(qpdf, og); | |
| 118 | + } | |
| 119 | + void | |
| 120 | + setObjGen(QPDF* qpdf, QPDFObjGen const& og) | |
| 121 | + { | |
| 118 | 122 | value->qpdf = qpdf; |
| 119 | 123 | value->og = og; |
| 120 | 124 | } | ... | ... |
libqpdf/qpdf/QPDFValue.hh
| ... | ... | @@ -31,6 +31,15 @@ class QPDFValue |
| 31 | 31 | object_description = description; |
| 32 | 32 | setParsedOffset(offset); |
| 33 | 33 | } |
| 34 | + void | |
| 35 | + setDefaultDescription(QPDF* a_qpdf, QPDFObjGen const& a_og) | |
| 36 | + { | |
| 37 | + if (object_description.empty()) { | |
| 38 | + object_description = "object " + a_og.unparse(' '); | |
| 39 | + } | |
| 40 | + qpdf = a_qpdf; | |
| 41 | + og = a_og; | |
| 42 | + } | |
| 34 | 43 | bool |
| 35 | 44 | getDescription(QPDF*& qpdf_p, std::string& description) |
| 36 | 45 | { | ... | ... |