From: Stephan Witt Date: Thu, 10 Mar 2011 20:15:34 +0000 (+0000) Subject: better fix for regression introduced by r37463: crash when dissolving an inset. then... X-Git-Tag: 2.0.0~550 X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;h=6118beae8dcc691a801f299fa6b350fadbc260c4;p=lyx.git better fix for regression introduced by r37463: crash when dissolving an inset. then the saved cursor slices of new_word_ are out of sync, add a check for count of nested insets git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37899 a592a061-630c-0410-9148-cb99ea01b6c8 --- diff --git a/src/Cursor.cpp b/src/Cursor.cpp index 266938a2d9..85b3d9857f 100644 --- a/src/Cursor.cpp +++ b/src/Cursor.cpp @@ -522,7 +522,7 @@ void Cursor::setCursorToAnchor() void Cursor::markEditPosition() { - if (inTexted() && new_word_.empty()) { + if (lyxrc.spellcheck_continuously && inTexted() && new_word_.empty()) { FontSpan ow = locateWord(WHOLE_WORD); if (ow.size() == 1) { LYXERR(Debug::DEBUG, "start new word: " @@ -547,12 +547,15 @@ void Cursor::clearNewWordPosition() void Cursor::checkNewWordPosition() { - if (new_word_.empty()) + if (!lyxrc.spellcheck_continuously || new_word_.empty()) return ; if (!inTexted()) clearNewWordPosition(); else { - if (pit() != new_word_.pit()) + // forget the position of the current started word + // 1) the paragraph changes or + // 2) the count of nested insets changes + if (pit() != new_word_.pit() || depth() != new_word_.depth()) clearNewWordPosition(); else { FontSpan nw = locateWord(WHOLE_WORD);