[Libreoffice-bugs] [Bug 35270] LibreOffice hangs when it loads spell checker for the first time

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Sun Apr 29 00:48:11 CEST 2012


https://bugs.freedesktop.org/show_bug.cgi?id=35270

misc2006 at danielnaber.de changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Version|LibO 3.3.1 release          |LibO 3.5.2 Release

--- Comment #7 from misc2006 at danielnaber.de 2012-04-28 15:48:11 PDT ---
I have finally come up with a detailed analysis: on each startup, the slow
method SvxLinguConfigUpdate::UpdateAll() is called. A comment in the code
suggests that this isn't needed anymore. Can we change the code like the
comment suggests in unolingu.cxx, line 395? Namely using

aAny <<= nCurrentDataFilesChangedCheckValue;

instead of

aAny <<= (sal_Int32) -1;    // keep the value set to 'need to check'

I have tested that this fixes the issue that this bug report is about.

Here's in detail what happens on startup:

doclay.cxx calls (*pLayIter)->GetCurrShell()->LayoutIdle();
layact.cxx calls ((SwTxtFrm*)pCnt)->_AutoSpell( pCntntNode, 
*pSh->GetViewOptions(), nTxtPos );
txtedt.cxx calls bSpell = xSpell.is() ? xSpell->hasLanguage( eActLang ) :
sal_False;
unolingu.cxx calls SpellDummy_Impl::GetSpell_Impl()
finally, SpellDummy_Impl::GetSpell_Impl() calls this:

    if (SvxLinguConfigUpdate::IsNeedUpdateAll())
        SvxLinguConfigUpdate::UpdateAll();

IsNeedUpdateAll() will return true, because
aLinguOpt.nDataFilesChangedCheckValue is -1 because
SvxLinguConfigUpdate::UpdateAll() will set it to -1, with a comment that this
is only needed for <= OOo 3.0
("for the time being (developer builds until OOo 3.0)..."). Thus after each
startup, SvxLinguConfigUpdate::UpdateAll() gets called which takes a few
seconds and blocks the machine.

Another questions is why SvxLinguConfigUpdate::UpdateAll() is so slow and
blocks. I haven't checked that out, as the change above fixes the problem. I
have increased the 'version' property of this bug report because it also
affects the latest version.

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the Libreoffice-bugs mailing list