diff options
author | Noel Grandin <noel.grandin@collabora.co.uk> | 2020-07-20 12:49:02 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2020-07-20 17:28:33 +0200 |
commit | fed392061613f71ecd04a485a8ec0de0595b441c (patch) | |
tree | dbcf2d887932294a8d41c525ae61986a78bbb5f1 /lingucomponent/source | |
parent | 565912fa0334de1c05749768796a33a1a5e6b984 (diff) |
fix SAL_WARN when instantiating Thesaurus
Before
commit 3fbadfa1ad41a3477804c592e06caec708c05218
lingucomponent: create instances with uno constructors
Thesaurus was constructed but Thesaurus::initialize was NOT being called
from GetAvailLocales.
However, we have some code marked "HACK" in
cppuhelper/source/servicemanager.cxx
i.e.
ServiceManager....::createInstanceWithArguments
which DOES call initialize.
And we have code in GetAvailLocales which passes what Thesuarus
considers an invalid number of arguments, because all the other similar
services DO take 2 args (even though they don't use the second arg!)
So we have a bunch of temporary hack and backwards compat stuff
interacting, causing a SAL_WARN.
So make Thesauras::initialize a little more tolerant, which means we're
now initialising it, which is a change in behaviour, so if this commit
comes up a regression, we will need find another warn to stop the
warning.
Change-Id: I60e0ed1bd2d4fbccbc539b5536aba055a7dfc6c4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99039
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'lingucomponent/source')
-rw-r--r-- | lingucomponent/source/thesaurus/libnth/nthesimp.cxx | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/lingucomponent/source/thesaurus/libnth/nthesimp.cxx b/lingucomponent/source/thesaurus/libnth/nthesimp.cxx index 11f557cd1d54..a8b32bd4727f 100644 --- a/lingucomponent/source/thesaurus/libnth/nthesimp.cxx +++ b/lingucomponent/source/thesaurus/libnth/nthesimp.cxx @@ -466,10 +466,13 @@ void SAL_CALL Thesaurus::initialize( const Sequence< Any >& rArguments ) return; sal_Int32 nLen = rArguments.getLength(); - if (1 == nLen) + // Accept one of two args so we can be compatible with the call site in GetAvailLocales() + // linguistic module + if (1 == nLen || 2 == nLen) { Reference< XLinguProperties > xPropSet; rArguments.getConstArray()[0] >>= xPropSet; + assert(xPropSet); //! Pointer allows for access of the non-UNO functions. //! And the reference to the UNO-functions while increasing |