[Libreoffice-commits] core.git: sfx2/source

Stephan Bergmann (via logerrit) logerrit at kemper.freedesktop.org
Tue Apr 14 08:39:52 UTC 2020


 sfx2/source/appl/app.cxx               |    5 +----
 sfx2/source/appl/appserv.cxx           |    2 --
 sfx2/source/appl/getbasctlfunction.cxx |   21 ++++++++++-----------
 3 files changed, 11 insertions(+), 17 deletions(-)

New commits:
commit 94a7ceae287a7967e8f013d012673e26637c6bb5
Author:     Stephan Bergmann <sbergman at redhat.com>
AuthorDate: Tue Apr 14 08:35:46 2020 +0200
Commit:     Stephan Bergmann <sbergman at redhat.com>
CommitDate: Tue Apr 14 10:39:21 2020 +0200

    basctl functions cannot be missing here
    
    This is a follow-up to 2d64651e889e55f63c90ded24e63e17eaf52102f "Fix loading of
    basctl with --enable-mergelibs", removing checks that can never be satisfied.
    (There is no plausible scenario where basctl would legitimately not be
    installed.  All uses of sfx2::getBasctlFunction are conditional on
    HAVE_FEATURE_SCRIPTING, and basctl is included in section ooo in Repository.mk
    together with sfx, so the latter cannot be installed without the former being
    installed.  That is also true for Linux distros like e.g. Fedora, where both
    libraries are included in the core package.)
    
    Two of the redundant checks had been added with
    c6fc2647c8df5b9a7c41a192f2b78812d1f3656d "coverity#1132691 Dereference null
    return value" and 5fb8f03be61add8320045471edc55ce3f7c4fa8d "coverity#1224981
    Dereference null return value", presumably in a misguided attempt to silence
    false Coverity warnings.  The third check had been added with
    0b21b8b146fc4b982c7c9bbb866b9ff18a29332a "initial commit for vba blob ( not
    including container_control stuff )", for unclear reasons.
    
    Change-Id: I4a6137edfe4b51d297b115990e16d910325694af
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92143
    Tested-by: Jenkins
    Reviewed-by: Stephan Bergmann <sbergman at redhat.com>

diff --git a/sfx2/source/appl/app.cxx b/sfx2/source/appl/app.cxx
index d9509a4a97c0..6844f919c4b2 100644
--- a/sfx2/source/appl/app.cxx
+++ b/sfx2/source/appl/app.cxx
@@ -392,7 +392,7 @@ IMPL_STATIC_LINK( SfxApplication, GlobalBasicErrorHdl_Impl, StarBASIC*, pStarBas
     basicide_handle_basic_error pSymbol = reinterpret_cast<basicide_handle_basic_error>(sfx2::getBasctlFunction("basicide_handle_basic_error"));
 
     // call basicide_handle_basic_error in basctl
-    bool bRet = pSymbol && pSymbol( pStarBasic );
+    bool bRet = pSymbol( pStarBasic );
 
 #else
 
@@ -477,9 +477,6 @@ void SfxApplication::MacroOrganizer(weld::Window* pParent, sal_Int16 nTabId)
 #ifndef DISABLE_DYNLOADING
     basicide_macro_organizer pSymbol = reinterpret_cast<basicide_macro_organizer>(sfx2::getBasctlFunction("basicide_macro_organizer"));
 
-    if (!pSymbol)
-        return;
-
     // call basicide_macro_organizer in basctl
     pSymbol(pParent, nTabId);
 
diff --git a/sfx2/source/appl/appserv.cxx b/sfx2/source/appl/appserv.cxx
index 3658bb82cf08..912363d7da75 100644
--- a/sfx2/source/appl/appserv.cxx
+++ b/sfx2/source/appl/appserv.cxx
@@ -1216,8 +1216,6 @@ static OUString ChooseMacro(weld::Window* pParent, const Reference<XModel>& rxLi
 {
 #ifndef DISABLE_DYNLOADING
     basicide_choose_macro pSymbol = reinterpret_cast<basicide_choose_macro>(sfx2::getBasctlFunction("basicide_choose_macro"));
-    if (!pSymbol)
-        return OUString();
 #else
 #define pSymbol basicide_choose_macro
 #endif
diff --git a/sfx2/source/appl/getbasctlfunction.cxx b/sfx2/source/appl/getbasctlfunction.cxx
index e682ae80836c..4f272919174a 100644
--- a/sfx2/source/appl/getbasctlfunction.cxx
+++ b/sfx2/source/appl/getbasctlfunction.cxx
@@ -19,11 +19,12 @@
 
 #include <sal/config.h>
 
+#include <cassert>
+
 #include <config_features.h>
 #include <config_options.h>
 #include <osl/module.h>
 #include <osl/module.hxx>
-#include <sal/log.hxx>
 #include <tools/svlibrary.h>
 
 #include "getbasctlfunction.hxx"
@@ -37,22 +38,20 @@ oslGenericFunction sfx2::getBasctlFunction(char const* name)
     osl::Module aMod;
 
     // load basctl module
-    if (!aMod.loadRelative(
-            &thisModule,
+    auto const ok = aMod.loadRelative(
+        &thisModule,
 #if ENABLE_MERGELIBS
-            SVLIBRARY("merged")
+        SVLIBRARY("merged")
 #else
-            SVLIBRARY("basctl")
+        SVLIBRARY("basctl")
 #endif
-        ))
-    {
-        SAL_WARN("sfx.appl", "cannot load basctl");
-        return nullptr;
-    }
+        );
+    assert(ok);
+    (void) ok;
 
     // get symbol
     auto pSymbol = aMod.getFunctionSymbol(name);
-    SAL_WARN_IF(!pSymbol, "sfx.appl", "cannot get basctl function " << name);
+    assert(pSymbol);
     aMod.release();
 
     return pSymbol;


More information about the Libreoffice-commits mailing list