X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Frowpainter.cpp;h=47ab84d3a2b5e7130eb47cebc276b3ebc8dae163;hb=1e190a2af27ca99831f51567c16e6b39bf4317c3;hp=5d0bcb6b2850e11ac51c091ad3b53d2ede810071;hpb=5eed97b56b9a90a493e57061b8cf75d49f8d5d33;p=lyx.git diff --git a/src/rowpainter.cpp b/src/rowpainter.cpp index 5d0bcb6b28..47ab84d3a2 100644 --- a/src/rowpainter.cpp +++ b/src/rowpainter.cpp @@ -415,17 +415,17 @@ void RowPainter::paintFromPos(pos_type & vpos, bool changed) // don't draw misspelled marker for words at cursor position // we don't want to disturb the process of text editing BufferView const * bv = pi_.base.bv; - Cursor const & cur = bv->cursor(); - bool current_word = false; - if (cur.inTexted() && par_.id() == cur.paragraph().id()) { - pos_type cpos = cur.pos(); + DocIterator const nw = bv->cursor().newWord(); + bool new_word = false; + if (!nw.empty() && par_.id() == nw.paragraph().id()) { + pos_type cpos = nw.pos(); if (cpos > 0 && cpos == par_.size() && !par_.isWordSeparator(cpos-1)) --cpos; else if (cpos > 0 && par_.isWordSeparator(cpos)) --cpos; - current_word = par_.isSameSpellRange(pos, cpos) ; + new_word = par_.isSameSpellRange(pos, cpos) ; } - if (!current_word) + if (!new_word) paintMisspelledMark(orig_x, changed); } }