Hi Michael,

On Monday, October 05, 2020 06:57 PM IST, Michael Meeks 
<[email protected]> wrote: 
 
> >   #1 uses raw-pointer to rtl_uString as key.
> 
>       I guess that would work, we just need to be a bit careful we need to> 
> make sure we clear this cache before we call:
> 
>       void SharedStringPool::purge()
> 
>       In ScDocument::~ScDocument - I think.   
> 

The spellcheck-cache is housed in ScGridWindow::mpSpellCheckContext and from
what I see in core desktop, the ScGridWindow and ScDocument ctor/dtor calls
are paired. Surprisingly in online, I do not see any of these destructors
getting called even on Ctrl+C of loolwsd process - setup related?


> >   #2 uses cell-address as key.
> 
>       Does the EditTextObject hold and cache its own spelling status ?
> 

Yes, I believe its implementation already has a member to store results in some
form and as far as I can see they are not getting used in Calc. But to limit
their storage and possibly with minimal impact on the visible areas of the
active views/users (for cases like auto-fill "down" a large number of rows
from a few cells/columns with inline formatting etc), we still need some
map/set to remember those cells. By storing them in the cache, we can do this
directly.
 
Thanks,
Dennis

_______________________________________________
LibreOffice mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/libreoffice

Reply via email to