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 <t...@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 <t...@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 }, _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits