mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-09-20 06:49:56 +00:00
#7350 more checks to validate the DocIterator before calling locateWord() in checkNewWordPosition()
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37931 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
aa86ff6401
commit
5866504aba
@ -552,10 +552,16 @@ void Cursor::checkNewWordPosition()
|
||||
if (!inTexted())
|
||||
clearNewWordPosition();
|
||||
else {
|
||||
// forget the position of the current started word
|
||||
// forget the position of the current new word if
|
||||
// 1) the paragraph changes or
|
||||
// 2) the count of nested insets changes
|
||||
if (pit() != new_word_.pit() || depth() != new_word_.depth())
|
||||
// 2) the count of nested insets changes or
|
||||
// 3) the cursor pos is out of paragraph bound
|
||||
if (pit() != new_word_.pit() ||
|
||||
depth() != new_word_.depth() ||
|
||||
new_word_.pos() > new_word_.lastpos()) {
|
||||
clearNewWordPosition();
|
||||
} else if (new_word_.fixIfBroken())
|
||||
// 4) or the remembered position was "broken"
|
||||
clearNewWordPosition();
|
||||
else {
|
||||
FontSpan nw = locateWord(WHOLE_WORD);
|
||||
@ -2271,6 +2277,7 @@ bool Cursor::fixIfBroken()
|
||||
bool const broken_anchor = anchor_.fixIfBroken();
|
||||
|
||||
if (broken_cursor || broken_anchor) {
|
||||
clearNewWordPosition();
|
||||
clearSelection();
|
||||
return true;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user