]> git.lyx.org Git - features.git/blobdiff - src/Cursor.cpp
fix a crash when the inset containing the new word at cursor is deleted
[features.git] / src / Cursor.cpp
index 59d2dd78c9db2d44fca1820d30ea7b6ff20646f4..64e2273d8fb1bc4f171246d6fb78ec1ba76d702b 100644 (file)
@@ -552,17 +552,21 @@ void Cursor::checkNewWordPosition()
        if (!inTexted())
                clearNewWordPosition();
        else {
-               if (paragraph().id() != new_word_.paragraph().id())
+               if (pit() != new_word_.pit())
                        clearNewWordPosition();
                else {
-                       FontSpan ow = new_word_.locateWord(WHOLE_WORD);
                        FontSpan nw = locateWord(WHOLE_WORD);
-                       if (nw.intersect(ow).empty())
+                       if (nw.size()) {
+                               FontSpan ow = new_word_.locateWord(WHOLE_WORD);
+                               if (nw.intersect(ow).empty())
+                                       clearNewWordPosition();
+                               else
+                                       LYXERR(Debug::DEBUG, "new word: "
+                                                  << " par: " << pit()
+                                                  << " pos: " << nw.first << ".." << nw.last);
+                       } else {
                                clearNewWordPosition();
-                       else
-                               LYXERR(Debug::DEBUG, "new word: "
-                                       << " par: " << pit()
-                                       << " pos: " << nw.first << ".." << nw.last);
+                       }
                }
        }
 }