Index: core/src/fpdftext/fpdf_text_int.cpp |
diff --git a/core/src/fpdftext/fpdf_text_int.cpp b/core/src/fpdftext/fpdf_text_int.cpp |
index e427a1d2a8c74b64a5fe2463d3058b4a6fb4a310..152bb4448fc2c2ef8a97f4f3bbf55b35be280b84 100644 |
--- a/core/src/fpdftext/fpdf_text_int.cpp |
+++ b/core/src/fpdftext/fpdf_text_int.cpp |
@@ -1339,7 +1339,7 @@ int32_t CPDF_TextPage::PreMarkedContent(PDFTEXT_Obj Obj) { |
for (n = 0; n < nContentMark; n++) { |
CPDF_ContentMarkItem& item = pMarkData->GetItem(n); |
CFX_ByteString tagStr = (CFX_ByteString)item.GetName(); |
- pDict = (CPDF_Dictionary*)item.GetParam(); |
+ pDict = ToDictionary(static_cast<CPDF_Object*>(item.GetParam())); |
CPDF_String* temp = |
(CPDF_String*)(pDict ? pDict->GetElement(FX_BSTRC("ActualText")) |
: NULL); |
@@ -1410,8 +1410,12 @@ void CPDF_TextPage::ProcessMarkedContent(PDFTEXT_Obj Obj) { |
for (n = 0; n < nContentMark; n++) { |
CPDF_ContentMarkItem& item = pMarkData->GetItem(n); |
CFX_ByteString tagStr = (CFX_ByteString)item.GetName(); |
- pDict = (CPDF_Dictionary*)item.GetParam(); |
- CPDF_String* temp = (CPDF_String*)pDict->GetElement(FX_BSTRC("ActualText")); |
+ |
+ pDict = ToDictionary(static_cast<CPDF_Object*>(item.GetParam())); |
+ CPDF_String* temp = |
+ (CPDF_String*)(pDict ? pDict->GetElement(FX_BSTRC("ActualText")) |
+ : NULL); |
+ |
if (temp) { |
actText = temp->GetUnicodeText(); |
} |