| Index: fpdfsdk/src/fpdf_transformpage.cpp
|
| diff --git a/fpdfsdk/src/fpdf_transformpage.cpp b/fpdfsdk/src/fpdf_transformpage.cpp
|
| index 3f6ab972c82c4432a4d7319f7fb5abcb36361252..3e2c7b11519c5233afcf89fad109ca5641801bf0 100644
|
| --- a/fpdfsdk/src/fpdf_transformpage.cpp
|
| +++ b/fpdfsdk/src/fpdf_transformpage.cpp
|
| @@ -160,14 +160,12 @@ DLLEXPORT FPDF_BOOL STDCALL FPDFPage_TransFormWithClip(FPDF_PAGE page,
|
| if (pRes) {
|
| CPDF_Dictionary* pPattenDict = pRes->GetDict("Pattern");
|
| if (pPattenDict) {
|
| - FX_POSITION pos = pPattenDict->GetStartPos();
|
| - while (pos) {
|
| - CPDF_Dictionary* pDict = nullptr;
|
| - CFX_ByteString key;
|
| - CPDF_Object* pObj = pPattenDict->GetNextElement(pos, key);
|
| + for (const auto& it : *pPattenDict) {
|
| + CPDF_Object* pObj = it.second;
|
| if (pObj->IsReference())
|
| pObj = pObj->GetDirect();
|
|
|
| + CPDF_Dictionary* pDict = nullptr;
|
| if (pObj->IsDictionary())
|
| pDict = pObj->AsDictionary();
|
| else if (CPDF_Stream* pStream = pObj->AsStream())
|
|
|