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()) |