diff options
Diffstat (limited to 'framework/source/services/pathsettings.cxx')
-rw-r--r-- | framework/source/services/pathsettings.cxx | 31 |
1 files changed, 18 insertions, 13 deletions
diff --git a/framework/source/services/pathsettings.cxx b/framework/source/services/pathsettings.cxx index fe8af40f0850..baf3a785c5e6 100644 --- a/framework/source/services/pathsettings.cxx +++ b/framework/source/services/pathsettings.cxx @@ -57,6 +57,8 @@ #include <comphelper/configurationhelper.hxx> #include <unotools/configpathes.hxx> +#include <fwkdllapi.h> + // ______________________________________________ // non exported const @@ -243,21 +245,24 @@ void PathSettings::impl_readAll() OUStringList PathSettings::impl_readOldFormat(const ::rtl::OUString& sPath) { RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "framework", "Ocke.Janssen@sun.com", "PathSettings::impl_readOldFormat" ); - css::uno::Reference< css::container::XNameAccess > xCfg = fa_getCfgOld(); - css::uno::Any aVal = xCfg->getByName(sPath); - - ::rtl::OUString sStringVal; - css::uno::Sequence< ::rtl::OUString > lStringListVal; - OUStringList aPathVal; + css::uno::Reference< css::container::XNameAccess > xCfg( fa_getCfgOld() ); + OUStringList aPathVal; - if (aVal >>= sStringVal) - { - aPathVal.push_back(sStringVal); - } - else - if (aVal >>= lStringListVal) + if( xCfg->hasByName(sPath) ) { - aPathVal << lStringListVal; + css::uno::Any aVal( xCfg->getByName(sPath) ); + + ::rtl::OUString sStringVal; + css::uno::Sequence< ::rtl::OUString > lStringListVal; + + if (aVal >>= sStringVal) + { + aPathVal.push_back(sStringVal); + } + else if (aVal >>= lStringListVal) + { + aPathVal << lStringListVal; + } } return aPathVal; |