Re: Calc / spell check cache
Dennis Francis
dennis.francis at collabora.com
Sun Oct 11 12:22:08 UTC 2020
Hi Michael,
On Monday, October 05, 2020 06:57 PM IST, Michael Meeks <michael.meeks at collabora.com> 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
More information about the LibreOffice
mailing list