summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
Diffstat (limited to 'vcl')
-rw-r--r--vcl/source/window/builder.cxx28
1 files changed, 24 insertions, 4 deletions
diff --git a/vcl/source/window/builder.cxx b/vcl/source/window/builder.cxx
index 6be921bff169..b4c38ca77d30 100644
--- a/vcl/source/window/builder.cxx
+++ b/vcl/source/window/builder.cxx
@@ -20,6 +20,7 @@
#include <sal/log.hxx>
#include <unotools/resmgr.hxx>
#include <vcl/builder.hxx>
+#include <vcl/builderfactory.hxx>
#include <vcl/button.hxx>
#include <vcl/dialog.hxx>
#include <vcl/edit.hxx>
@@ -1488,6 +1489,15 @@ void VclBuilder::preload()
#endif // DISABLE_DYNLOADING
}
+#if defined DISABLE_DYNLOADING && !HAVE_FEATURE_DESKTOP
+
+VCL_BUILDER_FACTORY_EXTERN(CustomPropertiesControl);
+VCL_BUILDER_FACTORY_EXTERN(RefButton);
+VCL_BUILDER_FACTORY_EXTERN(RefEdit);
+VCL_BUILDER_FACTORY_EXTERN(ScRefButtonEx);
+
+#endif
+
VclPtr<vcl::Window> VclBuilder::makeObject(vcl::Window *pParent, const OString &name, const OString &id,
stringmap &rMap)
{
@@ -2040,12 +2050,22 @@ VclPtr<vcl::Window> VclBuilder::makeObject(vcl::Window *pParent, const OString &
}
else
pFunction = reinterpret_cast<customMakeWidget>(aI->second->getFunctionSymbol(sFunction));
+#elif !HAVE_FEATURE_DESKTOP
+ if (false)
+ ; // Just so that all the other condition line pairs look the same
+ else if (sFunction == "makeCustomPropertiesControl")
+ pFunction = makeCustomPropertiesControl;
+ else if (sFunction == "makeRefButton")
+ pFunction = makeRefButton;
+ else if (sFunction == "makeRefEdit")
+ pFunction = makeRefEdit;
+ else if (sFunction == "makeScRefButtonEx")
+ pFunction = makeScRefButtonEx;
+
+ SAL_WARN_IF(!pFunction, "vcl.layout", "Missing case for " << sFunction);
+ assert(pFunction);
#else
pFunction = reinterpret_cast<customMakeWidget>(osl_getFunctionSymbol((oslModule) RTLD_DEFAULT, sFunction.pData));
-#if !HAVE_FEATURE_DESKTOP
- SAL_WARN_IF(!pFunction, "vcl.layout", "Lookup of " << sFunction << " failed");
- assert(pFunction);
-#endif
#endif
if (pFunction)
{