summaryrefslogtreecommitdiff
path: root/xfa/fde
diff options
context:
space:
mode:
Diffstat (limited to 'xfa/fde')
-rw-r--r--xfa/fde/cfde_texteditengine.cpp20
-rw-r--r--xfa/fde/cfde_texteditengine.h2
2 files changed, 11 insertions, 11 deletions
diff --git a/xfa/fde/cfde_texteditengine.cpp b/xfa/fde/cfde_texteditengine.cpp
index 0c64e39aeb..a28aeb5f6c 100644
--- a/xfa/fde/cfde_texteditengine.cpp
+++ b/xfa/fde/cfde_texteditengine.cpp
@@ -840,12 +840,12 @@ void CFDE_TextEditEngine::RebuildPieces() {
contents_bounding_box_ = CFX_RectF();
auto iter = pdfium::MakeUnique<CFDE_TextEditEngine::Iterator>(this);
- while (!iter->IsEOF(true)) {
+ while (!iter->IsEOF(false)) {
iter->Next(false);
CFX_BreakType break_status = text_break_.AppendChar(
password_mode_ ? password_alias_ : iter->GetChar());
- if (iter->IsEOF(true) && CFX_BreakTypeNoneOrPiece(break_status))
+ if (iter->IsEOF(false) && CFX_BreakTypeNoneOrPiece(break_status))
break_status = text_break_.EndBreak(CFX_BreakType::Paragraph);
if (CFX_BreakTypeNoneOrPiece(break_status))
@@ -1019,19 +1019,19 @@ int32_t CFDE_TextEditEngine::Iterator::GetAt() const {
return current_position_;
}
-bool CFDE_TextEditEngine::Iterator::IsEOF(bool bTail) const {
- return bTail ? current_position_ > -1 &&
+bool CFDE_TextEditEngine::Iterator::IsEOF(bool bPrev) const {
+ return bPrev ? current_position_ == -1
+ : current_position_ > -1 &&
static_cast<size_t>(current_position_) ==
- engine_->GetLength()
- : current_position_ == -1;
+ engine_->GetLength();
}
void CFDE_TextEditEngine::Iterator::FindNextBreakPos(bool bPrev) {
- if (IsEOF(!bPrev))
+ if (IsEOF(bPrev))
return;
WordBreakProperty ePreType = WordBreakProperty::kNone;
- if (!IsEOF(bPrev)) {
+ if (!IsEOF(!bPrev)) {
Next(!bPrev);
ePreType = GetWordBreakProperty(GetChar());
Next(bPrev);
@@ -1045,7 +1045,7 @@ void CFDE_TextEditEngine::Iterator::FindNextBreakPos(bool bPrev) {
WordBreakProperty eNextType = GetWordBreakProperty(GetChar());
bool wBreak = CheckStateChangeForWordBreak(eCurType, eNextType);
if (wBreak) {
- if (IsEOF(!bPrev)) {
+ if (IsEOF(bPrev)) {
Next(!bPrev);
return;
}
@@ -1080,5 +1080,5 @@ void CFDE_TextEditEngine::Iterator::FindNextBreakPos(bool bPrev) {
ePreType = eCurType;
eCurType = eNextType;
bFirst = false;
- } while (!IsEOF(!bPrev));
+ } while (!IsEOF(bPrev));
}
diff --git a/xfa/fde/cfde_texteditengine.h b/xfa/fde/cfde_texteditengine.h
index 40f12e5f76..fc5a5fb490 100644
--- a/xfa/fde/cfde_texteditengine.h
+++ b/xfa/fde/cfde_texteditengine.h
@@ -47,7 +47,7 @@ class CFDE_TextEditEngine {
void SetAt(int32_t nIndex);
int32_t GetAt() const;
void FindNextBreakPos(bool bPrev);
- bool IsEOF(bool bTail) const;
+ bool IsEOF(bool bPrev) const;
private:
CFX_UnownedPtr<const CFDE_TextEditEngine> engine_;