diff options
-rw-r--r-- | core/src/fpdftext/fpdf_text_int.cpp | 50 |
1 files changed, 25 insertions, 25 deletions
diff --git a/core/src/fpdftext/fpdf_text_int.cpp b/core/src/fpdftext/fpdf_text_int.cpp index 5b174f0187..42bbffa52e 100644 --- a/core/src/fpdftext/fpdf_text_int.cpp +++ b/core/src/fpdftext/fpdf_text_int.cpp @@ -1499,7 +1499,7 @@ void CPDF_TextPage::ProcessMarkedContent(PDFTEXT_Obj Obj) 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")); + CPDF_String* temp = (CPDF_String*)(pDict ? pDict->GetElement(FX_BSTRC("ActualText")) : NULL); if (temp) { actText = temp->GetUnicodeText(); } @@ -1875,30 +1875,30 @@ void CPDF_TextPage::ProcessTextObject(PDFTEXT_Obj Obj) } } } - if (bIsBidiAndMirrosInverse) {
- FX_INT32 i, j;
- i = iCharListStartAppend;
- j = m_TempCharList.GetSize() - 1;
- PAGECHAR_INFO tempCharInfo;
- FX_INT32 tempIndex = 0;
- for (; i < j; i++, j--) {
- tempCharInfo = m_TempCharList[i];
- m_TempCharList[i] = m_TempCharList[j];
- m_TempCharList[j] = tempCharInfo;
- tempIndex = m_TempCharList[i].m_Index;
- m_TempCharList[i].m_Index = m_TempCharList[j].m_Index;
- m_TempCharList[j].m_Index = tempIndex;
- }
- FX_WCHAR * pTempBuffer = m_TempTextBuf.GetBuffer();
- i = iBufStartAppend;
- j = m_TempTextBuf.GetLength() - 1;
- FX_WCHAR wTemp;
- for (; i < j; i++, j--) {
- wTemp = pTempBuffer[i];
- pTempBuffer[i] = pTempBuffer[j];
- pTempBuffer[j] = wTemp;
- }
- }
+ if (bIsBidiAndMirrosInverse) { + FX_INT32 i, j; + i = iCharListStartAppend; + j = m_TempCharList.GetSize() - 1; + PAGECHAR_INFO tempCharInfo; + FX_INT32 tempIndex = 0; + for (; i < j; i++, j--) { + tempCharInfo = m_TempCharList[i]; + m_TempCharList[i] = m_TempCharList[j]; + m_TempCharList[j] = tempCharInfo; + tempIndex = m_TempCharList[i].m_Index; + m_TempCharList[i].m_Index = m_TempCharList[j].m_Index; + m_TempCharList[j].m_Index = tempIndex; + } + FX_WCHAR * pTempBuffer = m_TempTextBuf.GetBuffer(); + i = iBufStartAppend; + j = m_TempTextBuf.GetLength() - 1; + FX_WCHAR wTemp; + for (; i < j; i++, j--) { + wTemp = pTempBuffer[i]; + pTempBuffer[i] = pTempBuffer[j]; + pTempBuffer[j] = wTemp; + } + } } FX_INT32 CPDF_TextPage::GetTextObjectWritingMode(const CPDF_TextObject* pTextObj) { |