diff options
Diffstat (limited to 'vcl/source/filter/ipdf/pdfdocument.cxx')
-rw-r--r-- | vcl/source/filter/ipdf/pdfdocument.cxx | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/vcl/source/filter/ipdf/pdfdocument.cxx b/vcl/source/filter/ipdf/pdfdocument.cxx index e12db4148a7d..41f80316ea67 100644 --- a/vcl/source/filter/ipdf/pdfdocument.cxx +++ b/vcl/source/filter/ipdf/pdfdocument.cxx @@ -2217,8 +2217,17 @@ size_t PDFDictionaryElement::Parse(const std::vector<std::unique_ptr<PDFElement> if (nexti >= i) // ensure we go forwards and not endlessly loop { i = nexti; - rDictionary[aName] = pDictionary; - aName.clear(); + if (pArray) + { + // Dictionary value inside an array. + pArray->PushBack(pDictionary); + } + else + { + // Dictionary toplevel value. + rDictionary[aName] = pDictionary; + aName.clear(); + } } } } |