+ return wrap_around_ && isCurrentBuffer(cursor) && start_ < cursor;
+}
+
+void SpellcheckerWidget::Private::fixPositionsIfBroken()
+{
+ DocIterator const current_ = cursor();
+ if (!isCurrentBuffer(current_)) {
+ LYXERR(Debug::GUI, "wrong document of current cursor position " << start_);
+ start_ = current_;
+ begin_ = DocIterator();
+ end_ = DocIterator();
+ }
+ if (start_.fixIfBroken())
+ LYXERR(Debug::GUI, "broken start position fixed " << start_);
+ if (begin_.fixIfBroken()) {
+ LYXERR(Debug::GUI, "broken selection begin position fixed " << begin_);
+ begin_ = DocIterator();
+ end_ = DocIterator();
+ }
+ if (end_.fixIfBroken())
+ LYXERR(Debug::GUI, "broken selection end position fixed " << end_);