[Libreoffice-commits] .: 2 commits - cppuhelper/source toolkit/source

Libreoffice Gerrit user logerrit at kemper.freedesktop.org
Wed Oct 3 21:32:35 PDT 2012


 cppuhelper/source/shlib.cxx        |   11 ++++++++---
 toolkit/source/awt/vclxtoolkit.cxx |   20 +++++++++++++++++++-
 2 files changed, 27 insertions(+), 4 deletions(-)

New commits:
commit bd24ac7cb585392d42c113e3547c3074ca3f745c
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 827b360..4ee9041 100644
--- a/toolkit/source/awt/vclxtoolkit.cxx
+++ b/toolkit/source/awt/vclxtoolkit.cxx
@@ -499,12 +499,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() );
@@ -1036,8 +1038,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 )
@@ -1070,8 +1080,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",
@@ -1086,6 +1101,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 0c1553a86e837b7538dc0f80316ed0798747756b
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 f783f87..b89fc5b 100644
--- a/cppuhelper/source/shlib.cxx
+++ b/cppuhelper/source/shlib.cxx
@@ -462,11 +462,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
@@ -525,24 +527,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