From 6118beae8dcc691a801f299fa6b350fadbc260c4 Mon Sep 17 00:00:00 2001 From: Stephan Witt Date: Thu, 10 Mar 2011 20:15:34 +0000 Subject: [PATCH] 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 --- src/Cursor.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) 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); -- 2.39.2