[LyX/master] Fix ticket #13345: bad use of iterators
Koji Yokota <[email protected]> Tue, 30 Jun 2026 10:11:08 +0000
| Newsgroups | gmane.editors.lyx.cvs |
|---|---|
| Message-ID | <[email protected]> |
commit 13b05603d21a05cf70f4327b61ed6a65cac2bffb Author: Koji Yokota <[email protected]> Date: Tue Jun 30 19:09:41 2026 +0900 Fix ticket #13345: bad use of iterators --- src/frontends/qt/GuiInputMethod.cpp | 5 ++++- src/frontends/qt/GuiInputMethod.h | 7 +++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/frontends/qt/GuiInputMethod.cpp b/src/frontends/qt/GuiInputMethod.cpp index 9f1d050967..86b1424202 100644 --- a/src/frontends/qt/GuiInputMethod.cpp +++ b/src/frontends/qt/GuiInputMethod.cpp @@ -736,7 +736,10 @@ pos_type GuiInputMethod::pickNextSegFromTurnout(pos_type next_seg_pos, size_type LYXERR(Debug::KEY, "Removing from preedit turnout: [" << it->start_ << ", " << it->start_ + it->length_ << ")"); - d->seg_turnout_.erase(it); + for (auto it2 = d->seg_turnout_.begin(); + it2 != d->seg_turnout_.end(); it2++) + if (*it == *it2) + d->seg_turnout_.erase(it2); } } } diff --git a/src/frontends/qt/GuiInputMethod.h b/src/frontends/qt/GuiInputMethod.h index 9945b7f4b5..36b129f63f 100644 --- a/src/frontends/qt/GuiInputMethod.h +++ b/src/frontends/qt/GuiInputMethod.h @@ -45,6 +45,13 @@ public: bool operator<(const PreeditSegment & another) const { return start_ < another.start_; } + bool operator>(const PreeditSegment & another) const { + return start_ > another.start_; + } + bool operator==(const PreeditSegment & another) const { + return start_ == another.start_ && length_ == another.length_ && + char_format_ == another.char_format_; + } }; struct PreeditStyle { -- lyx-cvs mailing list [email protected] https://lists.lyx.org/mailman/listinfo/lyx-cvs