diff options
Diffstat (limited to 'sc/source/ui')
-rw-r--r-- | sc/source/ui/app/scdll.cxx | 11 | ||||
-rw-r--r-- | sc/source/ui/docshell/impex.cxx | 4 |
2 files changed, 14 insertions, 1 deletions
diff --git a/sc/source/ui/app/scdll.cxx b/sc/source/ui/app/scdll.cxx index 0f398c5d4170..6f8287cd1b9d 100644 --- a/sc/source/ui/app/scdll.cxx +++ b/sc/source/ui/app/scdll.cxx @@ -106,6 +106,7 @@ #include <dwfunctr.hxx> #include <acredlin.hxx> #include <o3tl/make_unique.hxx> +#include <filter.hxx> #include <scabstdlg.hxx> OUString ScResId(const char* pId) @@ -266,4 +267,14 @@ void ScDLL::Init() // StarOne Services are now handled in the registry } +extern "C" SAL_DLLPUBLIC_EXPORT +void lok_preload_hook() +{ + // scfilt + ScFormatFilter::Get(); + // scui + ScAbstractDialogFactory::Create(); +} + + /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/source/ui/docshell/impex.cxx b/sc/source/ui/docshell/impex.cxx index 3088c50efe29..cd703cbe9714 100644 --- a/sc/source/ui/docshell/impex.cxx +++ b/sc/source/ui/docshell/impex.cxx @@ -2334,7 +2334,9 @@ ScFormatFilterPlugin &ScFormatFilter::Get() #ifndef DISABLE_DYNLOADING OUString sFilterLib(SVLIBRARY("scfilt")); static ::osl::Module aModule; - bool bLoaded = aModule.loadRelative(&thisModule, sFilterLib); + bool bLoaded = aModule.is(); + if (!bLoaded) + bLoaded = aModule.loadRelative(&thisModule, sFilterLib); if (!bLoaded) bLoaded = aModule.load(sFilterLib); if (bLoaded) |