Handle empty objects in IsSameTextObject() and free from warning
When both text objects have no items, directly return TRUE;
The last if statement moved inside loop to make the intent more
obvious and free from warning (msvc warns using potentially
uninitialized var itemPer)
R=jun_fang@foxitsoftware.com
Review URL: https://codereview.chromium.org/1815453002 .
diff --git a/core/fpdftext/fpdf_text_int.cpp b/core/fpdftext/fpdf_text_int.cpp
index 9a2a8c1..b6843ba 100644
--- a/core/fpdftext/fpdf_text_int.cpp
+++ b/core/fpdftext/fpdf_text_int.cpp
@@ -1804,7 +1804,12 @@
if (nPreCount != nCurCount) {
return FALSE;
}
- CPDF_TextObjectItem itemPer, itemCur;
+ // If both objects have no items, consider them same.
+ if (!nPreCount)
+ return TRUE;
+
+ CPDF_TextObjectItem itemPer = {0, 0.0f, 0.0f};
+ CPDF_TextObjectItem itemCur = {0, 0.0f, 0.0f};
for (int i = 0; i < nPreCount; i++) {
pTextObj2->GetItemInfo(i, &itemPer);
pTextObj1->GetItemInfo(i, &itemCur);
@@ -1823,6 +1828,7 @@
}
return TRUE;
}
+
FX_BOOL CPDF_TextPage::IsSameAsPreTextObject(
CPDF_TextObject* pTextObj,
const CPDF_PageObjectList* pObjList,