summaryrefslogtreecommitdiff
path: root/sc/source/ui
diff options
context:
space:
mode:
Diffstat (limited to 'sc/source/ui')
-rw-r--r--sc/source/ui/app/scdll.cxx11
-rw-r--r--sc/source/ui/docshell/impex.cxx4
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)