mirror of
https://github.com/qpdf/qpdf.git
synced 2024-09-28 04:59:05 +00:00
Refactor QPDF_Array::disconnect
This commit is contained in:
parent
0aae54d383
commit
a171ebb942
@ -1494,10 +1494,8 @@ class QPDFObjectHandle
|
|||||||
// disconnected().
|
// disconnected().
|
||||||
class DisconnectAccess
|
class DisconnectAccess
|
||||||
{
|
{
|
||||||
friend class QPDF_Array;
|
|
||||||
friend class QPDF_Dictionary;
|
friend class QPDF_Dictionary;
|
||||||
friend class QPDF_Stream;
|
friend class QPDF_Stream;
|
||||||
friend class SparseOHArray;
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
static void
|
static void
|
||||||
|
@ -116,11 +116,16 @@ void
|
|||||||
QPDF_Array::disconnect()
|
QPDF_Array::disconnect()
|
||||||
{
|
{
|
||||||
if (sparse) {
|
if (sparse) {
|
||||||
sp_elements.disconnect();
|
for (auto& item: sp_elements.elements) {
|
||||||
|
auto& obj = item.second;
|
||||||
|
if (!obj->getObjGen().isIndirect()) {
|
||||||
|
obj->disconnect();
|
||||||
|
}
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
for (auto const& iter: elements) {
|
for (auto& obj: elements) {
|
||||||
if (iter) {
|
if (!obj->getObjGen().isIndirect()) {
|
||||||
QPDFObjectHandle::DisconnectAccess::disconnect(iter);
|
obj->disconnect();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,13 +1,5 @@
|
|||||||
#include <qpdf/SparseOHArray.hh>
|
#include <qpdf/SparseOHArray.hh>
|
||||||
|
|
||||||
void
|
|
||||||
SparseOHArray::disconnect()
|
|
||||||
{
|
|
||||||
for (auto& iter: this->elements) {
|
|
||||||
QPDFObjectHandle::DisconnectAccess::disconnect(iter.second);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
SparseOHArray
|
SparseOHArray
|
||||||
SparseOHArray::copy()
|
SparseOHArray::copy()
|
||||||
{
|
{
|
||||||
|
@ -17,7 +17,6 @@ class SparseOHArray
|
|||||||
return n_elements;
|
return n_elements;
|
||||||
}
|
}
|
||||||
SparseOHArray copy();
|
SparseOHArray copy();
|
||||||
void disconnect();
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
friend class QPDF_Array;
|
friend class QPDF_Array;
|
||||||
|
Loading…
Reference in New Issue
Block a user