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
This commit is contained in:
Stephan Witt 2011-03-10 20:15:34 +00:00
parent 3214841e7a
commit 6118beae8d

View File

@ -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);