[Libreoffice-commits] .: Branch 'feature/android-single-dso' - 2 commits - cppuhelper/source toolkit/source
Libreoffice Gerrit user
logerrit at kemper.freedesktop.org
Wed Oct 3 21:18:02 PDT 2012
cppuhelper/source/shlib.cxx | 11 ++++++++---
toolkit/source/awt/vclxtoolkit.cxx | 20 +++++++++++++++++++-
2 files changed, 27 insertions(+), 4 deletions(-)
New commits:
commit 917af42bfea8dbebba247ba7d55725f7f55986be
Author: Tor Lillqvist <tml at iki.fi>
Date: Thu Oct 4 07:08:51 2012 +0300
Link directly to CreateWindow (in svtools) when DISABLE_DYNLOADING
Change-Id: Iaf1f6c0fc76b97b1cfca63edfb91d5a39988c8c0
diff --git a/toolkit/source/awt/vclxtoolkit.cxx b/toolkit/source/awt/vclxtoolkit.cxx
index bea6a74..b8355cc 100644
--- a/toolkit/source/awt/vclxtoolkit.cxx
+++ b/toolkit/source/awt/vclxtoolkit.cxx
@@ -509,12 +509,14 @@ VCLXToolkit::~VCLXToolkit()
void SAL_CALL VCLXToolkit::disposing()
{
+#ifndef DISABLE_DYNLOADING
if ( hSvToolsLib )
{
osl_unloadModule( hSvToolsLib );
hSvToolsLib = NULL;
fnSvtCreateWindow = NULL;
}
+#endif
{
osl::Guard< osl::Mutex > aGuard( getInitMutex() );
@@ -1046,8 +1048,16 @@ Window* VCLXToolkit::ImplCreateWindow( VCLXWindow** ppNewComp,
return pNewWindow;
}
+#ifndef DISABLE_DYNLOADING
+
extern "C" { static void SAL_CALL thisModule() {} }
+#else
+
+extern "C" Window* SAL_CALL CreateWindow( VCLXWindow** ppNewComp, const ::com::sun::star::awt::WindowDescriptor* pDescriptor, Window* pParent, WinBits nWinBits );
+
+#endif
+
css::uno::Reference< css::awt::XWindowPeer > VCLXToolkit::ImplCreateWindow(
const css::awt::WindowDescriptor& rDescriptor,
WinBits nForceWinBits )
@@ -1080,8 +1090,13 @@ css::uno::Reference< css::awt::XWindowPeer > VCLXToolkit::ImplCreateWindow(
// (do this _before_ creating it on our own: The old mechanism (extended toolkit in SvTools) did it this way,
// and we need to stay compatible)
// try to load the lib
- if ( !fnSvtCreateWindow && !hSvToolsLib )
+ if ( !fnSvtCreateWindow
+#ifndef DISABLE_DYNLOADING
+ && !hSvToolsLib
+#endif
+ )
{
+#ifndef DISABLE_DYNLOADING
::rtl::OUString aLibName = ::vcl::unohelper::CreateLibraryName(
#ifdef LIBO_MERGELIBS
"merged",
@@ -1096,6 +1111,9 @@ css::uno::Reference< css::awt::XWindowPeer > VCLXToolkit::ImplCreateWindow(
::rtl::OUString aFunctionName( "CreateWindow" );
fnSvtCreateWindow = (FN_SvtCreateWindow)osl_getFunctionSymbol( hSvToolsLib, aFunctionName.pData );
}
+#else
+ fnSvtCreateWindow = CreateWindow;
+#endif
}
// ask the SvTool creation function
if ( fnSvtCreateWindow )
commit 9d3486f487685fef575a83e6a82940257b7b071f
Author: Tor Lillqvist <tml at iki.fi>
Date: Thu Oct 4 07:08:02 2012 +0300
Disable-dynloading updates to component list
Change-Id: Idf092958e46a2ad9d56541c90c5a2beb44baff48
diff --git a/cppuhelper/source/shlib.cxx b/cppuhelper/source/shlib.cxx
index a3d4cae..f6a93f7 100644
--- a/cppuhelper/source/shlib.cxx
+++ b/cppuhelper/source/shlib.cxx
@@ -466,11 +466,13 @@ extern "C"
extern void * reflection_component_getFactory( const sal_Char * pImplName, void * pServiceManager, void * pRegistryKey );
extern void * sfx_component_getFactory( const sal_Char * pImplName, void * pServiceManager, void * pRegistryKey );
extern void * svl_component_getFactory( const sal_Char * pImplName, void * pServiceManager, void * pRegistryKey );
+ extern void * tk_component_getFactory( const sal_Char * pImplName, void * pServiceManager, void * pRegistryKey );
extern void * stocservices_component_getFactory( const sal_Char * pImplName, void * pServiceManager, void * pRegistryKey );
extern void * i18npool_component_getFactory( const sal_Char * pImplName, void * pServiceManager, void * pRegistryKey );
extern void * ucb_component_getFactory( const sal_Char * pImplName, void * pServiceManager, void * pRegistryKey );
extern void * ucpfile_component_getFactory( const sal_Char * pImplName, void * pServiceManager, void * pRegistryKey );
extern void * utl_component_getFactory( const sal_Char * pImplName, void * pServiceManager, void * pRegistryKey );
+ extern void * vcl_component_getFactory( const sal_Char * pImplName, void * pServiceManager, void * pRegistryKey );
extern void * xstor_component_getFactory( const sal_Char * pImplName, void * pServiceManager, void * pRegistryKey );
}
#endif
@@ -529,24 +531,27 @@ Reference< XInterface > SAL_CALL loadSharedLibComponentFactory(
oslGenericFunction pSym = NULL;
#ifdef DISABLE_DYNLOADING
+
// First test library names that aren't app-specific.
static lib_to_component_mapping non_app_specific_map[] = {
{ "bootstrap.uno" SAL_DLLEXTENSION, bootstrap_component_getFactory },
{ "bootstrap.uno.a", bootstrap_component_getFactory },
{ "configmgr.uno.a", configmgr_component_getFactory },
- { "expwrap.uno.a", expwrap_component_getFactory },
- { "fastsax.uno.a", fastsax_component_getFactory },
- { "introspection.uno.a", introspection_component_getFactory },
{ "i18npool.uno.a", i18npool_component_getFactory },
+ { "introspection.uno.a", introspection_component_getFactory },
{ "libcomphelp" CPPU_STRINGIFY(CPPU_ENV) ".a", comphelp_component_getFactory },
+ { "libexpwrap.uno.a", expwrap_component_getFactory },
+ { "libfastsax.uno.a", fastsax_component_getFactory },
{ "libfilterconfiglo.a", filterconfig1_component_getFactory },
{ "libfwklo.a", fwk_component_getFactory },
{ "libpackage2.a", package2_component_getFactory },
{ "libsfxlo.a", sfx_component_getFactory },
{ "libsvllo.a", svl_component_getFactory },
+ { "libtklo.a", tk_component_getFactory },
{ "libucb1.a", ucb_component_getFactory },
{ "libucpfile1.a", ucpfile_component_getFactory },
{ "libutllo.a", utl_component_getFactory },
+ { "libvcllo.a", vcl_component_getFactory },
{ "libxstor.a", xstor_component_getFactory },
{ "reflection.uno.a", reflection_component_getFactory },
{ "stocservices.uno.a", stocservices_component_getFactory },
More information about the Libreoffice-commits
mailing list