summaryrefslogtreecommitdiff
path: root/core/src/fpdftext
diff options
context:
space:
mode:
authorDan Sinclair <dsinclair@chromium.org>2015-10-20 16:24:45 -0400
committerDan Sinclair <dsinclair@chromium.org>2015-10-20 16:24:45 -0400
commitf1251c1ff2b3452854681d0648b4c1ca4180ff0d (patch)
treedbcff41b8f8a5ea3d1d5280ff0c946b9647c301a /core/src/fpdftext
parent49f88b708d905b052bc00769ac7cb48202cac019 (diff)
downloadpdfium-f1251c1ff2b3452854681d0648b4c1ca4180ff0d.tar.xz
[Merge to XFA] Revert "Revert "Add type cast definitions for CPDF_Dictionary.""
This reverts commit 937840e1722d1f2b77d80575d6e710d760662c9c. Add type cast definitions for CPDF_Dictionary. This CL adds ToCPDFDictionary type definitions and updates one file to use instead of straight casts. I had to fix two places where we'd casted off the constness of the original pointer. BUG=pdfium:201 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1420583003 . (cherry picked from commit 39869b641511c882d78e17548293cdb458c36f38) Review URL: https://codereview.chromium.org/1410343003 .
Diffstat (limited to 'core/src/fpdftext')
-rw-r--r--core/src/fpdftext/fpdf_text_int.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/core/src/fpdftext/fpdf_text_int.cpp b/core/src/fpdftext/fpdf_text_int.cpp
index e427a1d2a8..152bb4448f 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();
}