https://bugs.documentfoundation.org/show_bug.cgi?id=92036

Michael Stahl <[email protected]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |[email protected]

--- Comment #7 from Michael Stahl <[email protected]> ---
i'm afraid the infinite loop is intentional:

 bool SwWrongList::Fresh( sal_Int32 &rStart, sal_Int32 &rEnd, sal_Int32 nPos,
                             sal_Int32 nLen, sal_uInt16 nIndex, sal_Int32
nCursorPos )
 {
    // length of word must be greater than 0 and cursor position must be
outside the word
    bool bRet = nLen && ( nCursorPos > nPos + nLen || nCursorPos < nPos );


the shell cursor is positioned at the end of the word, and we don't
add the word to the wrong-list yet so we don't annoy the user
who doesn't want a word underlined in red that is still being typed in.

so every iteration of the idle loop checks the paragraph again in the hope that
the word is now complete, or the cursor has moved outside the paragraph.

we can invalidate the paragraph easily when text is inserted (and we do),
and we could invalidate the paragraph when the shell cursor moves to
another one, but the moving away sounds a bit more difficult to detect.

-- 
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Libreoffice-bugs mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs

Reply via email to