[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 13:52:20 CEST 2012
https://bugs.freedesktop.org/show_bug.cgi?id=35270
--- Comment #8 from misc2006 at danielnaber.de 2012-04-29 04:52:20 PDT ---
For reference, here's the comment from unolingu.cxx I was talking about above:
// for the time being (developer builds until OOo 3.0)
// we should always check for everything available
// otherwise we may miss a new installed extension dicitonary
// just because e.g. the spellchecker is not asked what
// languages it does support currently...
// Since the check is on-demand occuring and executed once it should
// not be too troublesome.
// In OOo 3.0 we will not need the respective code anymore at all.
// aAny <<= nCurrentDataFilesChangedCheckValue;
aAny <<= (sal_Int32) -1; // keep the value set to 'need to check'
Further testing unfortunately reveals that it applies to current builds, too
(despite saying "builds until OOo 3.0"). So if you use "aAny <<=
nCurrentDataFilesChangedCheckValue", newly installed dictionary extentions will
not be recognized until you restart LO. By "not recognized" I mean that the
checkmarks do not appear on the language in the language drop down.
Another potential solution for the original problem might be in lngsvcmgr.cxx,
LngSvcMgr::getAvailableServices(). It says:
// don't used cached data here (force re-evaluation in order to have
downloaded dictionaries
// already found without the need to restart the office
delete pAvailGrammarSvcs; pAvailGrammarSvcs = 0;
Commenting out that line makes SvxLinguConfigUpdate::UpdateAll() quite fast so
the original problem is gone. Grammar checkers need a restart of LO anyway, so
I think the cache could be used here.
Trying to debug this issue, I also found you can solve it by just commenting
out (*pLayIter)->GetCurrShell()->LayoutIdle(); in doclay.cxx in the if
(pTmpRoot->IsNeedGrammarCheck()) block. That code was committed on 2010-06-13.
As I'm just debugging and I don't know much about LO internals I have no idea
what the side effects of removing that code might be, but everything worked
fine for me at a first glance.
--
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