Kaydet (Commit) 4c251ddd authored tarafından Matúš Kukan's avatar Matúš Kukan

Fix creating custom dialog windows for libmerged

Change-Id: Idb1e67d8165298faca7c9a5a2a48097d5a82b497
üst f5c74abc
...@@ -49,6 +49,7 @@ $(eval $(call gb_Library_add_defs,vcl,\ ...@@ -49,6 +49,7 @@ $(eval $(call gb_Library_add_defs,vcl,\
-DCUI_DLL_NAME=\"$(call gb_Library_get_runtime_filename,$(call gb_Library__get_name,cui))\" \ -DCUI_DLL_NAME=\"$(call gb_Library_get_runtime_filename,$(call gb_Library__get_name,cui))\" \
-DDESKTOP_DETECTOR_DLL_NAME=\"$(call gb_Library_get_runtime_filename,$(call gb_Library__get_name,desktop_detector))\" \ -DDESKTOP_DETECTOR_DLL_NAME=\"$(call gb_Library_get_runtime_filename,$(call gb_Library__get_name,desktop_detector))\" \
-DTK_DLL_NAME=\"$(call gb_Library_get_runtime_filename,$(call gb_Library__get_name,tk))\" \ -DTK_DLL_NAME=\"$(call gb_Library_get_runtime_filename,$(call gb_Library__get_name,tk))\" \
-DENABLE_MERGELIBS=$(if $(MERGELIBS),1,0) \
)) ))
$(eval $(call gb_Library_use_sdk_api,vcl)) $(eval $(call gb_Library_use_sdk_api,vcl))
......
...@@ -1664,14 +1664,15 @@ vcl::Window *VclBuilder::makeObject(vcl::Window *pParent, const OString &name, c ...@@ -1664,14 +1664,15 @@ vcl::Window *VclBuilder::makeObject(vcl::Window *pParent, const OString &name, c
} }
else else
{ {
#ifndef SAL_DLLPREFIX
#define SAL_DLLPREFIX ""
#endif
sal_Int32 nDelim = name.indexOf('-'); sal_Int32 nDelim = name.indexOf('-');
if (nDelim != -1) if (nDelim != -1)
{ {
#ifndef DISABLE_DYNLOADING #ifndef DISABLE_DYNLOADING
OUStringBuffer sModuleBuf; OUStringBuffer sModuleBuf;
#ifdef SAL_DLLPREFIX
sModuleBuf.append(SAL_DLLPREFIX); sModuleBuf.append(SAL_DLLPREFIX);
#endif
sModuleBuf.append(OStringToOUString(name.copy(0, nDelim), RTL_TEXTENCODING_UTF8)); sModuleBuf.append(OStringToOUString(name.copy(0, nDelim), RTL_TEXTENCODING_UTF8));
sModuleBuf.append(SAL_DLLEXTENSION); sModuleBuf.append(SAL_DLLEXTENSION);
#endif #endif
...@@ -1682,7 +1683,19 @@ vcl::Window *VclBuilder::makeObject(vcl::Window *pParent, const OString &name, c ...@@ -1682,7 +1683,19 @@ vcl::Window *VclBuilder::makeObject(vcl::Window *pParent, const OString &name, c
if (aI == m_aModuleMap.end()) if (aI == m_aModuleMap.end())
{ {
osl::Module* pModule = new osl::Module; osl::Module* pModule = new osl::Module;
#if ENABLE_MERGELIBS
sModuleBuf.append(SAL_DLLPREFIX);
sModuleBuf.append("mergedlo");
sModuleBuf.append(SAL_DLLEXTENSION);
OUString sMergedModule = sModuleBuf.makeStringAndClear();
pModule->loadRelative(&thisModule, sMergedModule);
if (!pModule->getFunctionSymbol(sFunction))
{
pModule->loadRelative(&thisModule, sModule); pModule->loadRelative(&thisModule, sModule);
}
#else
pModule->loadRelative(&thisModule, sModule);
#endif
aI = m_aModuleMap.insert(sModule, pModule).first; aI = m_aModuleMap.insert(sModule, pModule).first;
} }
customMakeWidget pFunction = reinterpret_cast<customMakeWidget>(aI->second->getFunctionSymbol(sFunction)); customMakeWidget pFunction = reinterpret_cast<customMakeWidget>(aI->second->getFunctionSymbol(sFunction));
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment