sd/inc/sdfilter.hxx            |   13 +++----------
 sd/source/filter/eppt/eppt.cxx |    2 +-
 sd/source/filter/sdfilter.cxx  |   38 --------------------------------------
 sd/source/filter/sdpptwrp.cxx  |   18 +-----------------
 4 files changed, 5 insertions(+), 66 deletions(-)

New commits:
commit 7bc10ea4fae2f2cbaa485f2a9820cfa3f9cfe121
Author:     Noel Grandin <noel.gran...@collabora.co.uk>
AuthorDate: Wed Sep 14 12:59:00 2022 +0200
Commit:     Noel Grandin <noel.gran...@collabora.co.uk>
CommitDate: Thu Sep 15 09:24:37 2022 +0200

    no need to load SaveVBA symbol at runtime
    
    Change-Id: I246168902d07dbc75b68142c73f148e711320d03
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139938
    Tested-by: Jenkins
    Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk>

diff --git a/sd/inc/sdfilter.hxx b/sd/inc/sdfilter.hxx
index 928a1c0575d4..1a8c8b6739a6 100644
--- a/sd/inc/sdfilter.hxx
+++ b/sd/inc/sdfilter.hxx
@@ -32,6 +32,7 @@ namespace osl { class Module; }
 namespace sd { class DrawDocShell; }
 class SdDrawDocument;
 class SfxMedium;
+class SfxObjectShell;
 class SotStorage;
 class SvMemoryStream;
 
@@ -44,11 +45,6 @@ public:
     bool                    IsDraw() const { return mbIsDraw; }
     virtual bool            Export() = 0;
 
-#ifndef DISABLE_DYNLOADING
-    /// Open library @rLibraryName and lookup symbol @rFnSymbol
-    static oslGenericFunction GetLibrarySymbol( const OUString& rLibraryName, 
const OUString &rFnSymbol );
-#endif
-
 protected:
     css::uno::Reference< css::frame::XModel >             mxModel;
     css::uno::Reference< css::task::XStatusIndicator >    mxStatusIndicator;
@@ -58,11 +54,6 @@ protected:
     SdDrawDocument&             mrDocument;
     bool                        mbIsDraw : 1;
     void                        CreateStatusIndicator();
-
-private:
-
-    static OUString             ImplGetFullLibraryName( std::u16string_view 
rLibraryName );
-
 };
 
 SD_DLLPUBLIC bool ExportPPT( const std::vector< css::beans::PropertyValue >& 
rMediaData,
@@ -76,4 +67,6 @@ SD_DLLPUBLIC bool ExportPPT( const std::vector< 
css::beans::PropertyValue >& rMe
 SD_DLLPUBLIC bool ImportPPT(
         SdDrawDocument* pDocument, SvStream& rDocStream, SotStorage& rStorage, 
SfxMedium& rMedium );
 
+SD_DLLPUBLIC bool SaveVBA( SfxObjectShell& rDocShell, SvMemoryStream*& pBas );
+
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sd/source/filter/eppt/eppt.cxx b/sd/source/filter/eppt/eppt.cxx
index 34f85553e8bf..64df662c7e68 100644
--- a/sd/source/filter/eppt/eppt.cxx
+++ b/sd/source/filter/eppt/eppt.cxx
@@ -1431,7 +1431,7 @@ SAL_DLLPUBLIC_EXPORT bool ExportPPT( const std::vector< 
css::beans::PropertyValu
     return bStatus;
 }
 
-extern "C" SAL_DLLPUBLIC_EXPORT sal_Bool SaveVBA( SfxObjectShell& rDocShell, 
SvMemoryStream*& pBas )
+SAL_DLLPUBLIC_EXPORT bool SaveVBA( SfxObjectShell& rDocShell, SvMemoryStream*& 
pBas )
 {
     tools::SvRef<SotStorage> xDest( new SotStorage( new SvMemoryStream(), true 
) );
     SvxImportMSVBasic aMSVBas( rDocShell, *xDest );
diff --git a/sd/source/filter/sdfilter.cxx b/sd/source/filter/sdfilter.cxx
index af001e611883..e1ee1393226e 100644
--- a/sd/source/filter/sdfilter.cxx
+++ b/sd/source/filter/sdfilter.cxx
@@ -50,44 +50,6 @@ SdFilter::~SdFilter()
 {
 }
 
-OUString SdFilter::ImplGetFullLibraryName( std::u16string_view rLibraryName )
-{
-    return OUString(SVLIBRARY("?")).replaceFirst( "?", rLibraryName );
-}
-
-#ifndef DISABLE_DYNLOADING
-
-static std::map<OUString, std::unique_ptr<osl::Module>> g_SdModuleMap;
-
-extern "C" { static void thisModule() {} }
-
-oslGenericFunction SdFilter::GetLibrarySymbol( const OUString& rLibraryName, 
const OUString &rFnSymbol )
-{
-    osl::Module *pMod = nullptr;
-    auto it = g_SdModuleMap.find(rLibraryName);
-    if (it != g_SdModuleMap.end())
-        pMod = it->second.get();
-
-    if (!pMod)
-    {
-        pMod = new osl::Module;
-        if (pMod->loadRelative(&thisModule, 
ImplGetFullLibraryName(rLibraryName),
-                               SAL_LOADMODULE_GLOBAL | SAL_LOADMODULE_LAZY))
-            g_SdModuleMap[rLibraryName] = std::unique_ptr<osl::Module>(pMod);
-        else
-        {
-            delete pMod;
-            pMod = nullptr;
-        }
-    }
-    if (!pMod)
-        return nullptr;
-    else
-        return pMod->getFunctionSymbol(rFnSymbol);
-}
-
-#endif
-
 void SdFilter::CreateStatusIndicator()
 {
     // The status indicator must be retrieved from the provided medium 
arguments
diff --git a/sd/source/filter/sdpptwrp.cxx b/sd/source/filter/sdpptwrp.cxx
index 0f9e2f4a38fc..168fe11ffa1a 100644
--- a/sd/source/filter/sdpptwrp.cxx
+++ b/sd/source/filter/sdpptwrp.cxx
@@ -40,15 +40,6 @@ using namespace ::com::sun::star::beans;
 using namespace ::com::sun::star::task;
 using namespace ::com::sun::star::frame;
 
-typedef sal_Bool ( *SaveVBAPointer )( SfxObjectShell&, SvMemoryStream*& );
-
-#ifdef DISABLE_DYNLOADING
-
-extern "C" sal_Bool SaveVBA( SfxObjectShell&, SvMemoryStream*& );
-
-#endif
-
-
 SdPPTFilter::SdPPTFilter( SfxMedium& rMedium, ::sd::DrawDocShell& rDocShell ) :
     SdFilter( rMedium, rDocShell ),
     pBas    ( nullptr )
@@ -331,14 +322,7 @@ void SdPPTFilter::PreSaveBasic()
     const SvtFilterOptions& rFilterOptions = SvtFilterOptions::Get();
     if( rFilterOptions.IsLoadPPointBasicStorage() )
     {
-#ifdef DISABLE_DYNLOADING
-        SaveVBAPointer pSaveVBA= SaveVBA;
-#else
-        SaveVBAPointer pSaveVBA = reinterpret_cast< SaveVBAPointer >(
-            SdFilter::GetLibrarySymbol(mrMedium.GetFilter()->GetUserData(), 
"SaveVBA"));
-#endif
-        if( pSaveVBA )
-            pSaveVBA( static_cast<SfxObjectShell&>(mrDocShell), pBas );
+        SaveVBA( static_cast<SfxObjectShell&>(mrDocShell), pBas );
     }
 }
 

Reply via email to