sc/source/core/tool/addincol.cxx                             |  672 -
 sc/source/core/tool/address.cxx                              |   58 
 sc/source/core/tool/appoptio.cxx                             |   56 
 sc/source/core/tool/callform.cxx                             |  134 
 sc/source/core/tool/charthelper.cxx                          |  240 
 sc/source/core/tool/chgtrack.cxx                             |  634 -
 sc/source/core/tool/compiler.cxx                             |  360 
 sc/source/core/tool/consoli.cxx                              |  222 
 sc/source/core/tool/dbdata.cxx                               |   66 
 sc/source/core/tool/defaultsoptions.cxx                      |   38 
 sc/source/core/tool/detfunc.cxx                              |  140 
 sc/source/core/tool/filtopt.cxx                              |   20 
 sc/source/core/tool/formulaopt.cxx                           |  404 -
 sc/source/core/tool/formulaparserpool.cxx                    |    5 
 sc/source/core/tool/inputopt.cxx                             |   90 
 sc/source/core/tool/interpr1.cxx                             | 4174 +++++------
 sc/source/core/tool/interpr2.cxx                             | 2782 +++----
 sc/source/core/tool/interpr3.cxx                             |  486 -
 sc/source/core/tool/interpr5.cxx                             |  790 +-
 sc/source/core/tool/interpr7.cxx                             |  632 -
 sc/source/core/tool/interpr8.cxx                             |  444 -
 sc/source/core/tool/jumpmatrix.cxx                           |   44 
 sc/source/core/tool/printopt.cxx                             |   34 
 sc/source/core/tool/progress.cxx                             |   34 
 sc/source/core/tool/queryparam.cxx                           |   32 
 sc/source/core/tool/rangelst.cxx                             |   54 
 sc/source/core/tool/rangenam.cxx                             |  102 
 sc/source/core/tool/token.cxx                                |   28 
 sc/source/core/tool/tokenstringcontext.cxx                   |   22 
 sc/source/core/tool/unitconv.cxx                             |   74 
 sc/source/ui/Accessibility/AccessibleCell.cxx                |   88 
 sc/source/ui/Accessibility/AccessibleContextBase.cxx         |   30 
 sc/source/ui/Accessibility/AccessibleDocument.cxx            |  378 
 sc/source/ui/Accessibility/AccessibleDocumentPagePreview.cxx |  146 
 sc/source/ui/Accessibility/AccessibleEditObject.cxx          |   66 
 sc/source/ui/Accessibility/AccessiblePreviewCell.cxx         |   26 
 sc/source/ui/Accessibility/AccessibleSpreadsheet.cxx         |   74 
 37 files changed, 6842 insertions(+), 6837 deletions(-)

New commits:
commit 382ecc31a9480fc0d19dddc917d16a7e744a00e3
Author:     Noel Grandin <noel.gran...@collabora.co.uk>
AuthorDate: Wed Jul 29 16:12:49 2020 +0200
Commit:     Noel Grandin <noel.gran...@collabora.co.uk>
CommitDate: Wed Jul 29 20:44:14 2020 +0200

    loplugin:flatten in sc/core/tool
    
    Change-Id: Ibe5302ee320cf2e89c814dfb34ad42f9d72a25aa
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99700
    Tested-by: Jenkins
    Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk>

diff --git a/sc/source/core/tool/addincol.cxx b/sc/source/core/tool/addincol.cxx
index 48f5d4c03846..fbc9ac23592f 100644
--- a/sc/source/core/tool/addincol.cxx
+++ b/sc/source/core/tool/addincol.cxx
@@ -537,23 +537,23 @@ void ScUnoAddInCollection::LoadComponent( const 
ScUnoAddInFuncData& rFuncData )
 {
     const OUString& aFullName = rFuncData.GetOriginalName();
     sal_Int32 nPos = aFullName.lastIndexOf( '.' );
-    if ( nPos > 0 )
-    {
-        OUString aServiceName = aFullName.copy( 0, nPos );
+    if ( nPos <= 0 )
+        return;
 
-        try
-        {
-            uno::Reference<lang::XMultiServiceFactory> xServiceFactory = 
comphelper::getProcessServiceFactory();
-            uno::Reference<uno::XInterface> xInterface( 
xServiceFactory->createInstance( aServiceName ) );
+    OUString aServiceName = aFullName.copy( 0, nPos );
 
-            if (xInterface.is())
-                UpdateFromAddIn( xInterface, aServiceName );
-        }
-        catch (const uno::Exception &)
-        {
-            SAL_WARN ("sc", "Failed to create addin component '"
-                      << aServiceName << "'");
-        }
+    try
+    {
+        uno::Reference<lang::XMultiServiceFactory> xServiceFactory = 
comphelper::getProcessServiceFactory();
+        uno::Reference<uno::XInterface> xInterface( 
xServiceFactory->createInstance( aServiceName ) );
+
+        if (xInterface.is())
+            UpdateFromAddIn( xInterface, aServiceName );
+    }
+    catch (const uno::Exception &)
+    {
+        SAL_WARN ("sc", "Failed to create addin component '"
+                  << aServiceName << "'");
     }
 }
 
@@ -698,216 +698,216 @@ void ScUnoAddInCollection::ReadFromAddIn( const 
uno::Reference<uno::XInterface>&
 {
     uno::Reference<sheet::XAddIn> xAddIn( xInterface, uno::UNO_QUERY );
     uno::Reference<lang::XServiceName> xName( xInterface, uno::UNO_QUERY );
-    if ( xAddIn.is() && xName.is() )
-    {
-        // fdo50118 when GetUseEnglishFunctionName() returns true, set the
-        // locale to en-US to get English function names
-        if ( SC_MOD()->GetFormulaOptions().GetUseEnglishFuncName() )
-            xAddIn->setLocale( lang::Locale( "en", "US", ""));
-        else
-            xAddIn->setLocale( 
Application::GetSettings().GetUILanguageTag().getLocale());
+    if ( !(xAddIn.is() && xName.is()) )
+        return;
 
-        OUString aServiceName( xName->getServiceName() );
-        ScUnoAddInHelpIdGenerator aHelpIdGenerator( aServiceName );
+    // fdo50118 when GetUseEnglishFunctionName() returns true, set the
+    // locale to en-US to get English function names
+    if ( SC_MOD()->GetFormulaOptions().GetUseEnglishFuncName() )
+        xAddIn->setLocale( lang::Locale( "en", "US", ""));
+    else
+        xAddIn->setLocale( 
Application::GetSettings().GetUILanguageTag().getLocale());
 
-        //TODO: pass XIntrospection to ReadFromAddIn
+    OUString aServiceName( xName->getServiceName() );
+    ScUnoAddInHelpIdGenerator aHelpIdGenerator( aServiceName );
 
-        uno::Reference<uno::XComponentContext> xContext = 
comphelper::getProcessComponentContext();
+    //TODO: pass XIntrospection to ReadFromAddIn
 
-        uno::Reference<beans::XIntrospection> xIntro = 
beans::theIntrospection::get( xContext );
-        uno::Any aObject;
-        aObject <<= xAddIn;
-        uno::Reference<beans::XIntrospectionAccess> xAcc = 
xIntro->inspect(aObject);
-        if (xAcc.is())
+    uno::Reference<uno::XComponentContext> xContext = 
comphelper::getProcessComponentContext();
+
+    uno::Reference<beans::XIntrospection> xIntro = 
beans::theIntrospection::get( xContext );
+    uno::Any aObject;
+    aObject <<= xAddIn;
+    uno::Reference<beans::XIntrospectionAccess> xAcc = 
xIntro->inspect(aObject);
+    if (!xAcc.is())
+        return;
+
+    uno::Sequence< uno::Reference<reflection::XIdlMethod> > aMethods =
+            xAcc->getMethods( beans::MethodConcept::ALL );
+    long nNewCount = aMethods.getLength();
+    if ( !nNewCount )
+        return;
+
+    long nOld = nFuncCount;
+    nFuncCount = nNewCount+nOld;
+    if ( nOld )
+    {
+        std::unique_ptr<std::unique_ptr<ScUnoAddInFuncData>[]> ppNew(new 
std::unique_ptr<ScUnoAddInFuncData>[nFuncCount]);
+        for (long i=0; i<nOld; i++)
+            ppNew[i] = std::move(ppFuncData[i]);
+        ppFuncData = std::move(ppNew);
+    }
+    else
+        ppFuncData.reset(new std::unique_ptr<ScUnoAddInFuncData>[nFuncCount]);
+
+    //TODO: adjust bucket count?
+    if ( !pExactHashMap )
+        pExactHashMap.reset( new ScAddInHashMap );
+    if ( !pNameHashMap )
+        pNameHashMap.reset( new ScAddInHashMap );
+    if ( !pLocalHashMap )
+        pLocalHashMap.reset( new ScAddInHashMap );
+
+    const uno::Reference<reflection::XIdlMethod>* pArray = 
aMethods.getConstArray();
+    for (long nFuncPos=0; nFuncPos<nNewCount; nFuncPos++)
+    {
+        ppFuncData[nFuncPos+nOld] = nullptr;
+
+        uno::Reference<reflection::XIdlMethod> xFunc = pArray[nFuncPos];
+        if (xFunc.is())
         {
-            uno::Sequence< uno::Reference<reflection::XIdlMethod> > aMethods =
-                    xAcc->getMethods( beans::MethodConcept::ALL );
-            long nNewCount = aMethods.getLength();
-            if ( nNewCount )
+            //  leave out internal functions
+            uno::Reference<reflection::XIdlClass> xClass =
+                            xFunc->getDeclaringClass();
+            bool bSkip = true;
+            if ( xClass.is() )
             {
-                long nOld = nFuncCount;
-                nFuncCount = nNewCount+nOld;
-                if ( nOld )
+                //TODO: XIdlClass needs getType() method!
+                OUString sName = xClass->getName();
+                bSkip = (
+                    IsTypeName( sName,
+                        cppu::UnoType<uno::XInterface>::get()) ||
+                    IsTypeName( sName,
+                        cppu::UnoType<lang::XServiceName>::get()) ||
+                    IsTypeName( sName,
+                        cppu::UnoType<lang::XServiceInfo>::get()) ||
+                    IsTypeName( sName,
+                        cppu::UnoType<sheet::XAddIn>::get()) );
+            }
+            if (!bSkip)
+            {
+                uno::Reference<reflection::XIdlClass> xReturn =
+                            xFunc->getReturnType();
+                if ( !lcl_ValidReturnType( xReturn ) )
+                    bSkip = true;
+            }
+            if (!bSkip)
+            {
+                OUString aFuncU = xFunc->getName();
+
+                // stored function name: (service name).(function)
+                OUString aFuncName = aServiceName + "." + aFuncU;
+
+                bool bValid = true;
+                long nVisibleCount = 0;
+                long nCallerPos = SC_CALLERPOS_NONE;
+
+                uno::Sequence<reflection::ParamInfo> aParams =
+                        xFunc->getParameterInfos();
+                long nParamCount = aParams.getLength();
+                const reflection::ParamInfo* pParArr = aParams.getConstArray();
+                long nParamPos;
+                for (nParamPos=0; nParamPos<nParamCount; nParamPos++)
                 {
-                    std::unique_ptr<std::unique_ptr<ScUnoAddInFuncData>[]> 
ppNew(new std::unique_ptr<ScUnoAddInFuncData>[nFuncCount]);
-                    for (long i=0; i<nOld; i++)
-                        ppNew[i] = std::move(ppFuncData[i]);
-                    ppFuncData = std::move(ppNew);
+                    if ( pParArr[nParamPos].aMode != reflection::ParamMode_IN )
+                        bValid = false;
+                    uno::Reference<reflection::XIdlClass> xParClass =
+                                pParArr[nParamPos].aType;
+                    ScAddInArgumentType eArgType = lcl_GetArgType( xParClass );
+                    if ( eArgType == SC_ADDINARG_NONE )
+                        bValid = false;
+                    else if ( eArgType == SC_ADDINARG_CALLER )
+                        nCallerPos = nParamPos;
+                    else
+                        ++nVisibleCount;
                 }
-                else
-                    ppFuncData.reset(new 
std::unique_ptr<ScUnoAddInFuncData>[nFuncCount]);
-
-                //TODO: adjust bucket count?
-                if ( !pExactHashMap )
-                    pExactHashMap.reset( new ScAddInHashMap );
-                if ( !pNameHashMap )
-                    pNameHashMap.reset( new ScAddInHashMap );
-                if ( !pLocalHashMap )
-                    pLocalHashMap.reset( new ScAddInHashMap );
-
-                const uno::Reference<reflection::XIdlMethod>* pArray = 
aMethods.getConstArray();
-                for (long nFuncPos=0; nFuncPos<nNewCount; nFuncPos++)
+                if (bValid)
                 {
-                    ppFuncData[nFuncPos+nOld] = nullptr;
+                    sal_uInt16 nCategory = lcl_GetCategory(
+                            xAddIn->getProgrammaticCategoryName( aFuncU ) );
 
-                    uno::Reference<reflection::XIdlMethod> xFunc = 
pArray[nFuncPos];
-                    if (xFunc.is())
-                    {
-                        //  leave out internal functions
-                        uno::Reference<reflection::XIdlClass> xClass =
-                                        xFunc->getDeclaringClass();
-                        bool bSkip = true;
-                        if ( xClass.is() )
-                        {
-                            //TODO: XIdlClass needs getType() method!
-                            OUString sName = xClass->getName();
-                            bSkip = (
-                                IsTypeName( sName,
-                                    cppu::UnoType<uno::XInterface>::get()) ||
-                                IsTypeName( sName,
-                                    cppu::UnoType<lang::XServiceName>::get()) 
||
-                                IsTypeName( sName,
-                                    cppu::UnoType<lang::XServiceInfo>::get()) 
||
-                                IsTypeName( sName,
-                                    cppu::UnoType<sheet::XAddIn>::get()) );
-                        }
-                        if (!bSkip)
-                        {
-                            uno::Reference<reflection::XIdlClass> xReturn =
-                                        xFunc->getReturnType();
-                            if ( !lcl_ValidReturnType( xReturn ) )
-                                bSkip = true;
-                        }
-                        if (!bSkip)
-                        {
-                            OUString aFuncU = xFunc->getName();
+                    OString sHelpId = aHelpIdGenerator.GetHelpId( aFuncU );
 
-                            // stored function name: (service name).(function)
-                            OUString aFuncName = aServiceName + "." + aFuncU;
+                    OUString aLocalName;
+                    try
+                    {
+                        aLocalName = xAddIn->
+                            getDisplayFunctionName( aFuncU );
+                    }
+                    catch(uno::Exception&)
+                    {
+                        aLocalName = "###";
+                    }
 
-                            bool bValid = true;
-                            long nVisibleCount = 0;
-                            long nCallerPos = SC_CALLERPOS_NONE;
+                    OUString aDescription;
+                    try
+                    {
+                        aDescription = xAddIn->
+                            getFunctionDescription( aFuncU );
+                    }
+                    catch(uno::Exception&)
+                    {
+                        aDescription = "###";
+                    }
 
-                            uno::Sequence<reflection::ParamInfo> aParams =
-                                    xFunc->getParameterInfos();
-                            long nParamCount = aParams.getLength();
-                            const reflection::ParamInfo* pParArr = 
aParams.getConstArray();
-                            long nParamPos;
-                            for (nParamPos=0; nParamPos<nParamCount; 
nParamPos++)
-                            {
-                                if ( pParArr[nParamPos].aMode != 
reflection::ParamMode_IN )
-                                    bValid = false;
-                                uno::Reference<reflection::XIdlClass> 
xParClass =
-                                            pParArr[nParamPos].aType;
-                                ScAddInArgumentType eArgType = lcl_GetArgType( 
xParClass );
-                                if ( eArgType == SC_ADDINARG_NONE )
-                                    bValid = false;
-                                else if ( eArgType == SC_ADDINARG_CALLER )
-                                    nCallerPos = nParamPos;
-                                else
-                                    ++nVisibleCount;
-                            }
-                            if (bValid)
+                    std::unique_ptr<ScAddInArgDesc[]> pVisibleArgs;
+                    if ( nVisibleCount > 0 )
+                    {
+                        ScAddInArgDesc aDesc;
+                        pVisibleArgs.reset(new ScAddInArgDesc[nVisibleCount]);
+                        long nDestPos = 0;
+                        for (nParamPos=0; nParamPos<nParamCount; nParamPos++)
+                        {
+                            uno::Reference<reflection::XIdlClass> xParClass =
+                                pParArr[nParamPos].aType;
+                            ScAddInArgumentType eArgType = lcl_GetArgType( 
xParClass );
+                            if ( eArgType != SC_ADDINARG_CALLER )
                             {
-                                sal_uInt16 nCategory = lcl_GetCategory(
-                                        xAddIn->getProgrammaticCategoryName( 
aFuncU ) );
-
-                                OString sHelpId = aHelpIdGenerator.GetHelpId( 
aFuncU );
-
-                                OUString aLocalName;
+                                OUString aArgName;
                                 try
                                 {
-                                    aLocalName = xAddIn->
-                                        getDisplayFunctionName( aFuncU );
+                                    aArgName = xAddIn->
+                                        getDisplayArgumentName( aFuncU, 
nParamPos );
                                 }
                                 catch(uno::Exception&)
                                 {
-                                    aLocalName = "###";
+                                    aArgName = "###";
                                 }
-
-                                OUString aDescription;
+                                OUString aArgDesc;
                                 try
                                 {
-                                    aDescription = xAddIn->
-                                        getFunctionDescription( aFuncU );
+                                    aArgDesc = xAddIn->
+                                        getArgumentDescription( aFuncU, 
nParamPos );
                                 }
                                 catch(uno::Exception&)
                                 {
-                                    aDescription = "###";
+                                    aArgDesc = "###";
                                 }
 
-                                std::unique_ptr<ScAddInArgDesc[]> pVisibleArgs;
-                                if ( nVisibleCount > 0 )
-                                {
-                                    ScAddInArgDesc aDesc;
-                                    pVisibleArgs.reset(new 
ScAddInArgDesc[nVisibleCount]);
-                                    long nDestPos = 0;
-                                    for (nParamPos=0; nParamPos<nParamCount; 
nParamPos++)
-                                    {
-                                        uno::Reference<reflection::XIdlClass> 
xParClass =
-                                            pParArr[nParamPos].aType;
-                                        ScAddInArgumentType eArgType = 
lcl_GetArgType( xParClass );
-                                        if ( eArgType != SC_ADDINARG_CALLER )
-                                        {
-                                            OUString aArgName;
-                                            try
-                                            {
-                                                aArgName = xAddIn->
-                                                    getDisplayArgumentName( 
aFuncU, nParamPos );
-                                            }
-                                            catch(uno::Exception&)
-                                            {
-                                                aArgName = "###";
-                                            }
-                                            OUString aArgDesc;
-                                            try
-                                            {
-                                                aArgDesc = xAddIn->
-                                                    getArgumentDescription( 
aFuncU, nParamPos );
-                                            }
-                                            catch(uno::Exception&)
-                                            {
-                                                aArgDesc = "###";
-                                            }
-
-                                            bool bOptional =
-                                                ( eArgType == 
SC_ADDINARG_VALUE_OR_ARRAY ||
-                                                  eArgType == 
SC_ADDINARG_VARARGS );
-
-                                            aDesc.eType = eArgType;
-                                            aDesc.aName = aArgName;
-                                            aDesc.aDescription = aArgDesc;
-                                            aDesc.bOptional = bOptional;
-                                            //TODO: initialize aInternalName 
only from config?
-                                            aDesc.aInternalName = 
pParArr[nParamPos].aName;
-
-                                            pVisibleArgs[nDestPos++] = aDesc;
-                                        }
-                                    }
-                                    OSL_ENSURE( nDestPos==nVisibleCount, 
"wrong count" );
-                                }
+                                bool bOptional =
+                                    ( eArgType == SC_ADDINARG_VALUE_OR_ARRAY ||
+                                      eArgType == SC_ADDINARG_VARARGS );
+
+                                aDesc.eType = eArgType;
+                                aDesc.aName = aArgName;
+                                aDesc.aDescription = aArgDesc;
+                                aDesc.bOptional = bOptional;
+                                //TODO: initialize aInternalName only from 
config?
+                                aDesc.aInternalName = pParArr[nParamPos].aName;
 
-                                ppFuncData[nFuncPos+nOld].reset( new 
ScUnoAddInFuncData(
-                                    aFuncName, aLocalName, aDescription,
-                                    nCategory, sHelpId,
-                                    xFunc, aObject,
-                                    nVisibleCount, pVisibleArgs.get(), 
nCallerPos ) );
-
-                                const ScUnoAddInFuncData* pData =
-                                    ppFuncData[nFuncPos+nOld].get();
-                                pExactHashMap->emplace(
-                                            pData->GetOriginalName(),
-                                            pData );
-                                pNameHashMap->emplace(
-                                            pData->GetUpperName(),
-                                            pData );
-                                pLocalHashMap->emplace(
-                                            pData->GetUpperLocal(),
-                                            pData );
+                                pVisibleArgs[nDestPos++] = aDesc;
                             }
                         }
+                        OSL_ENSURE( nDestPos==nVisibleCount, "wrong count" );
                     }
+
+                    ppFuncData[nFuncPos+nOld].reset( new ScUnoAddInFuncData(
+                        aFuncName, aLocalName, aDescription,
+                        nCategory, sHelpId,
+                        xFunc, aObject,
+                        nVisibleCount, pVisibleArgs.get(), nCallerPos ) );
+
+                    const ScUnoAddInFuncData* pData =
+                        ppFuncData[nFuncPos+nOld].get();
+                    pExactHashMap->emplace(
+                                pData->GetOriginalName(),
+                                pData );
+                    pNameHashMap->emplace(
+                                pData->GetUpperName(),
+                                pData );
+                    pLocalHashMap->emplace(
+                                pData->GetUpperLocal(),
+                                pData );
                 }
             }
         }
@@ -970,97 +970,97 @@ void ScUnoAddInCollection::UpdateFromAddIn( const 
uno::Reference<uno::XInterface
     uno::Any aObject;
     aObject <<= xInterface;
     uno::Reference<beans::XIntrospectionAccess> xAcc = 
xIntro->inspect(aObject);
-    if (xAcc.is())
+    if (!xAcc.is())
+        return;
+
+    const uno::Sequence< uno::Reference<reflection::XIdlMethod> > aMethods =
+            xAcc->getMethods( beans::MethodConcept::ALL );
+    for (const uno::Reference<reflection::XIdlMethod>& xFunc : aMethods)
     {
-        const uno::Sequence< uno::Reference<reflection::XIdlMethod> > aMethods 
=
-                xAcc->getMethods( beans::MethodConcept::ALL );
-        for (const uno::Reference<reflection::XIdlMethod>& xFunc : aMethods)
+        if (xFunc.is())
         {
-            if (xFunc.is())
+            OUString aFuncU = xFunc->getName();
+
+            // stored function name: (service name).(function)
+            OUString aFuncName = rServiceName + "." + aFuncU;
+
+            // internal names are skipped because no FuncData exists
+            ScUnoAddInFuncData* pOldData = const_cast<ScUnoAddInFuncData*>( 
GetFuncData( aFuncName ) );
+            if ( pOldData )
             {
-                OUString aFuncU = xFunc->getName();
+                // Create new (complete) argument info.
+                // As in ReadFromAddIn, the reflection information is 
authoritative.
+                // Local names and descriptions from pOldData are looked up 
using the
+                // internal argument name.
 
-                // stored function name: (service name).(function)
-                OUString aFuncName = rServiceName + "." + aFuncU;
+                bool bValid = true;
+                long nVisibleCount = 0;
+                long nCallerPos = SC_CALLERPOS_NONE;
 
-                // internal names are skipped because no FuncData exists
-                ScUnoAddInFuncData* pOldData = 
const_cast<ScUnoAddInFuncData*>( GetFuncData( aFuncName ) );
-                if ( pOldData )
+                const uno::Sequence<reflection::ParamInfo> aParams =
+                        xFunc->getParameterInfos();
+                long nParamCount = aParams.getLength();
+                const reflection::ParamInfo* pParArr = aParams.getConstArray();
+                for (long nParamPos=0; nParamPos<nParamCount; nParamPos++)
                 {
-                    // Create new (complete) argument info.
-                    // As in ReadFromAddIn, the reflection information is 
authoritative.
-                    // Local names and descriptions from pOldData are looked 
up using the
-                    // internal argument name.
-
-                    bool bValid = true;
-                    long nVisibleCount = 0;
-                    long nCallerPos = SC_CALLERPOS_NONE;
-
-                    const uno::Sequence<reflection::ParamInfo> aParams =
-                            xFunc->getParameterInfos();
-                    long nParamCount = aParams.getLength();
-                    const reflection::ParamInfo* pParArr = 
aParams.getConstArray();
-                    for (long nParamPos=0; nParamPos<nParamCount; nParamPos++)
-                    {
-                        if ( pParArr[nParamPos].aMode != 
reflection::ParamMode_IN )
-                            bValid = false;
-                        uno::Reference<reflection::XIdlClass> xParClass =
-                                    pParArr[nParamPos].aType;
-                        ScAddInArgumentType eArgType = lcl_GetArgType( 
xParClass );
-                        if ( eArgType == SC_ADDINARG_NONE )
-                            bValid = false;
-                        else if ( eArgType == SC_ADDINARG_CALLER )
-                            nCallerPos = nParamPos;
-                        else
-                            ++nVisibleCount;
-                    }
-                    if (bValid)
+                    if ( pParArr[nParamPos].aMode != reflection::ParamMode_IN )
+                        bValid = false;
+                    uno::Reference<reflection::XIdlClass> xParClass =
+                                pParArr[nParamPos].aType;
+                    ScAddInArgumentType eArgType = lcl_GetArgType( xParClass );
+                    if ( eArgType == SC_ADDINARG_NONE )
+                        bValid = false;
+                    else if ( eArgType == SC_ADDINARG_CALLER )
+                        nCallerPos = nParamPos;
+                    else
+                        ++nVisibleCount;
+                }
+                if (bValid)
+                {
+                    std::unique_ptr<ScAddInArgDesc[]> pVisibleArgs;
+                    if ( nVisibleCount > 0 )
                     {
-                        std::unique_ptr<ScAddInArgDesc[]> pVisibleArgs;
-                        if ( nVisibleCount > 0 )
+                        ScAddInArgDesc aDesc;
+                        pVisibleArgs.reset(new ScAddInArgDesc[nVisibleCount]);
+                        long nDestPos = 0;
+                        for (const auto& rParam : aParams)
                         {
-                            ScAddInArgDesc aDesc;
-                            pVisibleArgs.reset(new 
ScAddInArgDesc[nVisibleCount]);
-                            long nDestPos = 0;
-                            for (const auto& rParam : aParams)
+                            uno::Reference<reflection::XIdlClass> xParClass =
+                                rParam.aType;
+                            ScAddInArgumentType eArgType = lcl_GetArgType( 
xParClass );
+                            if ( eArgType != SC_ADDINARG_CALLER )
                             {
-                                uno::Reference<reflection::XIdlClass> 
xParClass =
-                                    rParam.aType;
-                                ScAddInArgumentType eArgType = lcl_GetArgType( 
xParClass );
-                                if ( eArgType != SC_ADDINARG_CALLER )
+                                const ScAddInArgDesc* pOldArgDesc =
+                                    lcl_FindArgDesc( *pOldData, rParam.aName );
+                                if ( pOldArgDesc )
                                 {
-                                    const ScAddInArgDesc* pOldArgDesc =
-                                        lcl_FindArgDesc( *pOldData, 
rParam.aName );
-                                    if ( pOldArgDesc )
-                                    {
-                                        aDesc.aName = pOldArgDesc->aName;
-                                        aDesc.aDescription = 
pOldArgDesc->aDescription;
-                                    }
-                                    else
-                                        aDesc.aName = aDesc.aDescription = 
"###";
-
-                                    bool bOptional =
-                                        ( eArgType == 
SC_ADDINARG_VALUE_OR_ARRAY ||
-                                          eArgType == SC_ADDINARG_VARARGS );
-
-                                    aDesc.eType = eArgType;
-                                    aDesc.bOptional = bOptional;
-                                    //TODO: initialize aInternalName only from 
config?
-                                    aDesc.aInternalName = rParam.aName;
-
-                                    pVisibleArgs[nDestPos++] = aDesc;
+                                    aDesc.aName = pOldArgDesc->aName;
+                                    aDesc.aDescription = 
pOldArgDesc->aDescription;
                                 }
+                                else
+                                    aDesc.aName = aDesc.aDescription = "###";
+
+                                bool bOptional =
+                                    ( eArgType == SC_ADDINARG_VALUE_OR_ARRAY ||
+                                      eArgType == SC_ADDINARG_VARARGS );
+
+                                aDesc.eType = eArgType;
+                                aDesc.bOptional = bOptional;
+                                //TODO: initialize aInternalName only from 
config?
+                                aDesc.aInternalName = rParam.aName;
+
+                                pVisibleArgs[nDestPos++] = aDesc;
                             }
-                            OSL_ENSURE( nDestPos==nVisibleCount, "wrong count" 
);
                         }
+                        OSL_ENSURE( nDestPos==nVisibleCount, "wrong count" );
+                    }
 
-                        pOldData->SetFunction( xFunc, aObject );
-                        pOldData->SetArguments( nVisibleCount, 
pVisibleArgs.get() );
-                        pOldData->SetCallerPos( nCallerPos );
+                    pOldData->SetFunction( xFunc, aObject );
+                    pOldData->SetArguments( nVisibleCount, pVisibleArgs.get() 
);
+                    pOldData->SetCallerPos( nCallerPos );
 
-                        if ( pFunctionList )
-                            lcl_UpdateFunctionList( *pFunctionList, *pOldData 
);
-                    }
+                    if ( pFunctionList )
+                        lcl_UpdateFunctionList( *pFunctionList, *pOldData );
                 }
             }
         }
@@ -1240,32 +1240,32 @@ ScUnoAddInCall::ScUnoAddInCall( ScUnoAddInCollection& 
rColl, const OUString& rNa
 {
     pFuncData = rColl.GetFuncData( rName, true );           // need fully 
initialized data
     OSL_ENSURE( pFuncData, "Function Data missing" );
-    if ( pFuncData )
-    {
-        long nDescCount = pFuncData->GetArgumentCount();
-        const ScAddInArgDesc* pArgs = pFuncData->GetArguments();
+    if ( !pFuncData )
+        return;
 
-        //  is aVarArg sequence needed?
-        if ( nParamCount >= nDescCount && nDescCount > 0 &&
-             pArgs[nDescCount-1].eType == SC_ADDINARG_VARARGS )
-        {
-            long nVarCount = nParamCount - ( nDescCount - 1 );  // size of 
last argument
-            aVarArg.realloc( nVarCount );
-            bValidCount = true;
-        }
-        else if ( nParamCount <= nDescCount )
-        {
-            //  all args behind nParamCount must be optional
-            bValidCount = true;
-            for (long i=nParamCount; i<nDescCount; i++)
-                if ( !pArgs[i].bOptional )
-                    bValidCount = false;
-        }
-        // else invalid (too many arguments)
+    long nDescCount = pFuncData->GetArgumentCount();
+    const ScAddInArgDesc* pArgs = pFuncData->GetArguments();
 
-        if ( bValidCount )
-            aArgs.realloc( nDescCount );    // sequence must always match 
function signature
+    //  is aVarArg sequence needed?
+    if ( nParamCount >= nDescCount && nDescCount > 0 &&
+         pArgs[nDescCount-1].eType == SC_ADDINARG_VARARGS )
+    {
+        long nVarCount = nParamCount - ( nDescCount - 1 );  // size of last 
argument
+        aVarArg.realloc( nVarCount );
+        bValidCount = true;
+    }
+    else if ( nParamCount <= nDescCount )
+    {
+        //  all args behind nParamCount must be optional
+        bValidCount = true;
+        for (long i=nParamCount; i<nDescCount; i++)
+            if ( !pArgs[i].bOptional )
+                bValidCount = false;
     }
+    // else invalid (too many arguments)
+
+    if ( bValidCount )
+        aArgs.realloc( nDescCount );    // sequence must always match function 
signature
 }
 
 ScUnoAddInCall::~ScUnoAddInCall()
@@ -1311,27 +1311,27 @@ void ScUnoAddInCall::SetCallerFromObjectShell( const 
SfxObjectShell* pObjSh )
 
 void ScUnoAddInCall::SetParam( long nPos, const uno::Any& rValue )
 {
-    if ( pFuncData )
+    if ( !pFuncData )
+        return;
+
+    long nCount = pFuncData->GetArgumentCount();
+    const ScAddInArgDesc* pArgs = pFuncData->GetArguments();
+    if ( nCount > 0 && nPos >= nCount-1 && pArgs[nCount-1].eType == 
SC_ADDINARG_VARARGS )
     {
-        long nCount = pFuncData->GetArgumentCount();
-        const ScAddInArgDesc* pArgs = pFuncData->GetArguments();
-        if ( nCount > 0 && nPos >= nCount-1 && pArgs[nCount-1].eType == 
SC_ADDINARG_VARARGS )
-        {
-            long nVarPos = nPos-(nCount-1);
-            if ( nVarPos < aVarArg.getLength() )
-                aVarArg.getArray()[nVarPos] = rValue;
-            else
-            {
-                OSL_FAIL("wrong argument number");
-            }
-        }
-        else if ( nPos < aArgs.getLength() )
-            aArgs.getArray()[nPos] = rValue;
+        long nVarPos = nPos-(nCount-1);
+        if ( nVarPos < aVarArg.getLength() )
+            aVarArg.getArray()[nVarPos] = rValue;
         else
         {
             OSL_FAIL("wrong argument number");
         }
     }
+    else if ( nPos < aArgs.getLength() )
+        aArgs.getArray()[nPos] = rValue;
+    else
+    {
+        OSL_FAIL("wrong argument number");
+    }
 }
 
 void ScUnoAddInCall::ExecuteCall()
@@ -1389,38 +1389,38 @@ void 
ScUnoAddInCall::ExecuteCallWithArgs(uno::Sequence<uno::Any>& rCallArgs)
         aObject = pFuncData->GetObject();
     }
 
-    if ( xFunction.is() )
-    {
-        uno::Any aAny;
-        nErrCode = FormulaError::NONE;
+    if ( !xFunction.is() )
+        return;
 
-        try
-        {
-            aAny = xFunction->invoke( aObject, rCallArgs );
-        }
-        catch(lang::IllegalArgumentException&)
-        {
+    uno::Any aAny;
+    nErrCode = FormulaError::NONE;
+
+    try
+    {
+        aAny = xFunction->invoke( aObject, rCallArgs );
+    }
+    catch(lang::IllegalArgumentException&)
+    {
+        nErrCode = FormulaError::IllegalArgument;
+    }
+    catch(const reflection::InvocationTargetException& rWrapped)
+    {
+        if ( rWrapped.TargetException.getValueType().equals(
+                cppu::UnoType<lang::IllegalArgumentException>::get()) )
             nErrCode = FormulaError::IllegalArgument;
-        }
-        catch(const reflection::InvocationTargetException& rWrapped)
-        {
-            if ( rWrapped.TargetException.getValueType().equals(
-                    cppu::UnoType<lang::IllegalArgumentException>::get()) )
-                nErrCode = FormulaError::IllegalArgument;
-            else if ( rWrapped.TargetException.getValueType().equals(
-                    cppu::UnoType<sheet::NoConvergenceException>::get()) )
-                nErrCode = FormulaError::NoConvergence;
-            else
-                nErrCode = FormulaError::NoValue;
-        }
-        catch(uno::Exception&)
-        {
+        else if ( rWrapped.TargetException.getValueType().equals(
+                cppu::UnoType<sheet::NoConvergenceException>::get()) )
+            nErrCode = FormulaError::NoConvergence;
+        else
             nErrCode = FormulaError::NoValue;
-        }
-
-        if (nErrCode == FormulaError::NONE)
-            SetResult( aAny );      // convert result to Calc types
     }
+    catch(uno::Exception&)
+    {
+        nErrCode = FormulaError::NoValue;
+    }
+
+    if (nErrCode == FormulaError::NONE)
+        SetResult( aAny );      // convert result to Calc types
 }
 
 template <typename T>
diff --git a/sc/source/core/tool/address.cxx b/sc/source/core/tool/address.cxx
index 0d75dfe4a816..be7beec97d83 100644
--- a/sc/source/core/tool/address.cxx
+++ b/sc/source/core/tool/address.cxx
@@ -2156,42 +2156,42 @@ static void lcl_ScRange_Format_XL_Header( 
OUStringBuffer& rString, const ScRange
                                           ScRefFlags nFlags, const ScDocument& 
rDoc,
                                           const ScAddress::Details& rDetails )
 {
-    if( nFlags & ScRefFlags::TAB_3D )
+    if( !(nFlags & ScRefFlags::TAB_3D) )
+        return;
+
+    OUString aTabName, aDocName;
+    lcl_Split_DocTab( rDoc, rRange.aStart.Tab(), rDetails, nFlags, aTabName, 
aDocName );
+    switch (rDetails.eConv)
     {
-        OUString aTabName, aDocName;
-        lcl_Split_DocTab( rDoc, rRange.aStart.Tab(), rDetails, nFlags, 
aTabName, aDocName );
-        switch (rDetails.eConv)
-        {
-            case formula::FormulaGrammar::CONV_XL_OOX:
-                if (!aTabName.isEmpty() && aTabName[0] == '\'')
+        case formula::FormulaGrammar::CONV_XL_OOX:
+            if (!aTabName.isEmpty() && aTabName[0] == '\'')
+            {
+                if (!aDocName.isEmpty())
                 {
-                    if (!aDocName.isEmpty())
-                    {
-                        
rString.append("'[").append(aDocName).append("]").append(std::u16string_view(aTabName).substr(1));
-                    }
-                    else
-                    {
-                        rString.append(aTabName);
-                    }
-                    break;
+                    
rString.append("'[").append(aDocName).append("]").append(std::u16string_view(aTabName).substr(1));
                 }
-                [[fallthrough]];
-            default:
-                if (!aDocName.isEmpty())
+                else
                 {
-                    rString.append("[").append(aDocName).append("]");
+                    rString.append(aTabName);
                 }
-                rString.append(aTabName);
-            break;
-        }
-        if( nFlags & ScRefFlags::TAB2_3D )
-        {
-            lcl_Split_DocTab( rDoc, rRange.aEnd.Tab(), rDetails, nFlags, 
aTabName, aDocName );
-            rString.append(":");
+                break;
+            }
+            [[fallthrough]];
+        default:
+            if (!aDocName.isEmpty())
+            {
+                rString.append("[").append(aDocName).append("]");
+            }
             rString.append(aTabName);
-        }
-        rString.append("!");
+        break;
+    }
+    if( nFlags & ScRefFlags::TAB2_3D )
+    {
+        lcl_Split_DocTab( rDoc, rRange.aEnd.Tab(), rDetails, nFlags, aTabName, 
aDocName );
+        rString.append(":");
+        rString.append(aTabName);
     }
+    rString.append("!");
 }
 
 // helpers used in ScRange::Format
diff --git a/sc/source/core/tool/appoptio.cxx b/sc/source/core/tool/appoptio.cxx
index 530a8d9438cb..f66134c0d1c2 100644
--- a/sc/source/core/tool/appoptio.cxx
+++ b/sc/source/core/tool/appoptio.cxx
@@ -128,18 +128,18 @@ void ScAppOptions::SetLRUFuncList( const sal_uInt16* 
pList, const sal_uInt16 nCo
 static void lcl_SetLastFunctions( ScAppOptions& rOpt, const Any& rValue )
 {
     Sequence<sal_Int32> aSeq;
-    if ( rValue >>= aSeq )
+    if ( !(rValue >>= aSeq) )
+        return;
+
+    sal_Int32 nCount = aSeq.getLength();
+    if ( nCount < SAL_MAX_UINT16 )
     {
-        sal_Int32 nCount = aSeq.getLength();
-        if ( nCount < SAL_MAX_UINT16 )
-        {
-            const sal_Int32* pArray = aSeq.getConstArray();
-            std::unique_ptr<sal_uInt16[]> pUShorts(new sal_uInt16[nCount]);
-            for (sal_Int32 i=0; i<nCount; i++)
-                pUShorts[i] = static_cast<sal_uInt16>(pArray[i]);
+        const sal_Int32* pArray = aSeq.getConstArray();
+        std::unique_ptr<sal_uInt16[]> pUShorts(new sal_uInt16[nCount]);
+        for (sal_Int32 i=0; i<nCount; i++)
+            pUShorts[i] = static_cast<sal_uInt16>(pArray[i]);
 
-            rOpt.SetLRUFuncList( pUShorts.get(), 
sal::static_int_cast<sal_uInt16>(nCount) );
-        }
+        rOpt.SetLRUFuncList( pUShorts.get(), 
sal::static_int_cast<sal_uInt16>(nCount) );
     }
 }
 
@@ -162,29 +162,29 @@ static void lcl_GetLastFunctions( Any& rDest, const 
ScAppOptions& rOpt )
 static void lcl_SetSortList( const Any& rValue )
 {
     Sequence<OUString> aSeq;
-    if ( rValue >>= aSeq )
-    {
-        long nCount = aSeq.getLength();
-        const OUString* pArray = aSeq.getConstArray();
-        ScUserList aList;
+    if ( !(rValue >>= aSeq) )
+        return;
 
-        //  if setting is "default", keep default values from ScUserList ctor
-        //TODO: mark "default" in a safe way
-        bool bDefault = ( nCount == 1 && pArray[0] == "NULL" );
+    long nCount = aSeq.getLength();
+    const OUString* pArray = aSeq.getConstArray();
+    ScUserList aList;
 
-        if (!bDefault)
-        {
-            aList.clear();
+    //  if setting is "default", keep default values from ScUserList ctor
+    //TODO: mark "default" in a safe way
+    bool bDefault = ( nCount == 1 && pArray[0] == "NULL" );
 
-            for (const auto& rStr : std::as_const(aSeq))
-            {
-                ScUserListData* pNew = new ScUserListData( rStr );
-                aList.push_back(pNew);
-            }
-        }
+    if (!bDefault)
+    {
+        aList.clear();
 
-        ScGlobal::SetUserList( &aList );
+        for (const auto& rStr : std::as_const(aSeq))
+        {
+            ScUserListData* pNew = new ScUserListData( rStr );
+            aList.push_back(pNew);
+        }
     }
+
+    ScGlobal::SetUserList( &aList );
 }
 
 static void lcl_GetSortList( Any& rDest )
diff --git a/sc/source/core/tool/callform.cxx b/sc/source/core/tool/callform.cxx
index 3f5930925724..cbf8ae73a69f 100644
--- a/sc/source/core/tool/callform.cxx
+++ b/sc/source/core/tool/callform.cxx
@@ -249,74 +249,74 @@ void LegacyFuncData::Call(void** ppParam) const
 #else
     osl::Module* pLib = pModuleData->GetInstance();
     oslGenericFunction fProc = pLib->getFunctionSymbol(aFuncName);
-    if (fProc != nullptr)
+    if (fProc == nullptr)
+        return;
+
+    switch (nParamCount)
     {
-        switch (nParamCount)
-        {
-            case 1 :
-                (*reinterpret_cast<ExFuncPtr1>(fProc))(ppParam[0]);
-                break;
-            case 2 :
-                (*reinterpret_cast<ExFuncPtr2>(fProc))(ppParam[0], ppParam[1]);
-                break;
-            case 3 :
-                (*reinterpret_cast<ExFuncPtr3>(fProc))(ppParam[0], ppParam[1], 
ppParam[2]);
-                break;
-            case 4 :
-                (*reinterpret_cast<ExFuncPtr4>(fProc))(ppParam[0], ppParam[1], 
ppParam[2], ppParam[3]);
-                break;
-            case 5 :
-                (*reinterpret_cast<ExFuncPtr5>(fProc))(ppParam[0], ppParam[1], 
ppParam[2], ppParam[3], ppParam[4]);
-                break;
-            case 6 :
-                (*reinterpret_cast<ExFuncPtr6>(fProc))(ppParam[0], ppParam[1], 
ppParam[2], ppParam[3], ppParam[4], ppParam[5]);
-                break;
-            case 7 :
-                (*reinterpret_cast<ExFuncPtr7>(fProc))( ppParam[0], 
ppParam[1], ppParam[2], ppParam[3], ppParam[4], ppParam[5],
-                                        ppParam[6]);
-                break;
-            case 8 :
-                (*reinterpret_cast<ExFuncPtr8>(fProc))( ppParam[0], 
ppParam[1], ppParam[2], ppParam[3], ppParam[4], ppParam[5],
-                                        ppParam[6], ppParam[7]);
-                break;
-            case 9 :
-                (*reinterpret_cast<ExFuncPtr9>(fProc))( ppParam[0], 
ppParam[1], ppParam[2], ppParam[3], ppParam[4], ppParam[5],
-                                        ppParam[6], ppParam[7], ppParam[8]);
-                break;
-            case 10 :
-                (*reinterpret_cast<ExFuncPtr10>(fProc))( ppParam[0], 
ppParam[1], ppParam[2], ppParam[3], ppParam[4], ppParam[5],
-                                        ppParam[6], ppParam[7], ppParam[8], 
ppParam[9]);
-                break;
-            case 11 :
-                (*reinterpret_cast<ExFuncPtr11>(fProc))( ppParam[0], 
ppParam[1], ppParam[2], ppParam[3], ppParam[4], ppParam[5],
-                                        ppParam[6], ppParam[7], ppParam[8], 
ppParam[9], ppParam[10]);
-                break;
-            case 12:
-                (*reinterpret_cast<ExFuncPtr12>(fProc))( ppParam[0], 
ppParam[1], ppParam[2], ppParam[3], ppParam[4], ppParam[5],
-                                        ppParam[6], ppParam[7], ppParam[8], 
ppParam[9], ppParam[10], ppParam[11]);
-                break;
-            case 13:
-                (*reinterpret_cast<ExFuncPtr13>(fProc))( ppParam[0], 
ppParam[1], ppParam[2], ppParam[3], ppParam[4], ppParam[5],
-                                        ppParam[6], ppParam[7], ppParam[8], 
ppParam[9], ppParam[10], ppParam[11],
-                                        ppParam[12]);
-                break;
-            case 14 :
-                (*reinterpret_cast<ExFuncPtr14>(fProc))( ppParam[0], 
ppParam[1], ppParam[2], ppParam[3], ppParam[4], ppParam[5],
-                                        ppParam[6], ppParam[7], ppParam[8], 
ppParam[9], ppParam[10], ppParam[11],
-                                        ppParam[12], ppParam[13]);
-                break;
-            case 15 :
-                (*reinterpret_cast<ExFuncPtr15>(fProc))( ppParam[0], 
ppParam[1], ppParam[2], ppParam[3], ppParam[4], ppParam[5],
-                                        ppParam[6], ppParam[7], ppParam[8], 
ppParam[9], ppParam[10], ppParam[11],
-                                        ppParam[12], ppParam[13], ppParam[14]);
-                break;
-            case 16 :
-                (*reinterpret_cast<ExFuncPtr16>(fProc))( ppParam[0], 
ppParam[1], ppParam[2], ppParam[3], ppParam[4], ppParam[5],
-                                        ppParam[6], ppParam[7], ppParam[8], 
ppParam[9], ppParam[10], ppParam[11],
-                                        ppParam[12], ppParam[13], ppParam[14], 
ppParam[15]);
-                break;
-            default : break;
-        }
+        case 1 :
+            (*reinterpret_cast<ExFuncPtr1>(fProc))(ppParam[0]);
+            break;
+        case 2 :
+            (*reinterpret_cast<ExFuncPtr2>(fProc))(ppParam[0], ppParam[1]);
+            break;
+        case 3 :
+            (*reinterpret_cast<ExFuncPtr3>(fProc))(ppParam[0], ppParam[1], 
ppParam[2]);
+            break;
+        case 4 :
+            (*reinterpret_cast<ExFuncPtr4>(fProc))(ppParam[0], ppParam[1], 
ppParam[2], ppParam[3]);
+            break;
+        case 5 :
+            (*reinterpret_cast<ExFuncPtr5>(fProc))(ppParam[0], ppParam[1], 
ppParam[2], ppParam[3], ppParam[4]);
+            break;
+        case 6 :
+            (*reinterpret_cast<ExFuncPtr6>(fProc))(ppParam[0], ppParam[1], 
ppParam[2], ppParam[3], ppParam[4], ppParam[5]);
+            break;
+        case 7 :
+            (*reinterpret_cast<ExFuncPtr7>(fProc))( ppParam[0], ppParam[1], 
ppParam[2], ppParam[3], ppParam[4], ppParam[5],
+                                    ppParam[6]);
+            break;
+        case 8 :
+            (*reinterpret_cast<ExFuncPtr8>(fProc))( ppParam[0], ppParam[1], 
ppParam[2], ppParam[3], ppParam[4], ppParam[5],
+                                    ppParam[6], ppParam[7]);
+            break;
+        case 9 :
+            (*reinterpret_cast<ExFuncPtr9>(fProc))( ppParam[0], ppParam[1], 
ppParam[2], ppParam[3], ppParam[4], ppParam[5],
+                                    ppParam[6], ppParam[7], ppParam[8]);
+            break;
+        case 10 :
+            (*reinterpret_cast<ExFuncPtr10>(fProc))( ppParam[0], ppParam[1], 
ppParam[2], ppParam[3], ppParam[4], ppParam[5],
+                                    ppParam[6], ppParam[7], ppParam[8], 
ppParam[9]);
+            break;
+        case 11 :
+            (*reinterpret_cast<ExFuncPtr11>(fProc))( ppParam[0], ppParam[1], 
ppParam[2], ppParam[3], ppParam[4], ppParam[5],
+                                    ppParam[6], ppParam[7], ppParam[8], 
ppParam[9], ppParam[10]);
+            break;
+        case 12:
+            (*reinterpret_cast<ExFuncPtr12>(fProc))( ppParam[0], ppParam[1], 
ppParam[2], ppParam[3], ppParam[4], ppParam[5],
+                                    ppParam[6], ppParam[7], ppParam[8], 
ppParam[9], ppParam[10], ppParam[11]);
+            break;
+        case 13:
+            (*reinterpret_cast<ExFuncPtr13>(fProc))( ppParam[0], ppParam[1], 
ppParam[2], ppParam[3], ppParam[4], ppParam[5],
+                                    ppParam[6], ppParam[7], ppParam[8], 
ppParam[9], ppParam[10], ppParam[11],
+                                    ppParam[12]);
+            break;
+        case 14 :
+            (*reinterpret_cast<ExFuncPtr14>(fProc))( ppParam[0], ppParam[1], 
ppParam[2], ppParam[3], ppParam[4], ppParam[5],
+                                    ppParam[6], ppParam[7], ppParam[8], 
ppParam[9], ppParam[10], ppParam[11],
+                                    ppParam[12], ppParam[13]);
+            break;
+        case 15 :
+            (*reinterpret_cast<ExFuncPtr15>(fProc))( ppParam[0], ppParam[1], 
ppParam[2], ppParam[3], ppParam[4], ppParam[5],
+                                    ppParam[6], ppParam[7], ppParam[8], 
ppParam[9], ppParam[10], ppParam[11],
+                                    ppParam[12], ppParam[13], ppParam[14]);
+            break;
+        case 16 :
+            (*reinterpret_cast<ExFuncPtr16>(fProc))( ppParam[0], ppParam[1], 
ppParam[2], ppParam[3], ppParam[4], ppParam[5],
+                                    ppParam[6], ppParam[7], ppParam[8], 
ppParam[9], ppParam[10], ppParam[11],
+                                    ppParam[12], ppParam[13], ppParam[14], 
ppParam[15]);
+            break;
+        default : break;
     }
 #endif
 }
diff --git a/sc/source/core/tool/charthelper.cxx 
b/sc/source/core/tool/charthelper.cxx
index 6acca9ce3666..cb31f2c7468f 100644
--- a/sc/source/core/tool/charthelper.cxx
+++ b/sc/source/core/tool/charthelper.cxx
@@ -118,32 +118,32 @@ void 
ScChartHelper::AdjustRangesOfChartsOnDestinationPage( const ScDocument* pSr
         return;
 
     SdrPage* pDestPage = 
pDrawLayer->GetPage(static_cast<sal_uInt16>(nDestTab));
-    if( pDestPage )
+    if( !pDestPage )
+        return;
+
+    SdrObjListIter aIter( pDestPage, SdrIterMode::Flat );
+    SdrObject* pObject = aIter.Next();
+    while( pObject )
     {
-        SdrObjListIter aIter( pDestPage, SdrIterMode::Flat );
-        SdrObject* pObject = aIter.Next();
-        while( pObject )
+        if( pObject->GetObjIdentifier() == OBJ_OLE2 && 
static_cast<SdrOle2Obj*>(pObject)->IsChart() )
         {
-            if( pObject->GetObjIdentifier() == OBJ_OLE2 && 
static_cast<SdrOle2Obj*>(pObject)->IsChart() )
+            OUString aChartName = 
static_cast<SdrOle2Obj*>(pObject)->GetPersistName();
+
+            Reference< chart2::XChartDocument > xChartDoc( 
pDestDoc->GetChartByName( aChartName ) );
+            Reference< chart2::data::XDataReceiver > xReceiver( xChartDoc, 
uno::UNO_QUERY );
+            if( xChartDoc.is() && xReceiver.is() && 
!xChartDoc->hasInternalDataProvider() )
             {
-                OUString aChartName = 
static_cast<SdrOle2Obj*>(pObject)->GetPersistName();
+                ::std::vector< ScRangeList > aRangesVector;
+                pDestDoc->GetChartRanges( aChartName, aRangesVector, pSrcDoc );
 
-                Reference< chart2::XChartDocument > xChartDoc( 
pDestDoc->GetChartByName( aChartName ) );
-                Reference< chart2::data::XDataReceiver > xReceiver( xChartDoc, 
uno::UNO_QUERY );
-                if( xChartDoc.is() && xReceiver.is() && 
!xChartDoc->hasInternalDataProvider() )
+                for( ScRangeList& rScRangeList : aRangesVector )
                 {
-                    ::std::vector< ScRangeList > aRangesVector;
-                    pDestDoc->GetChartRanges( aChartName, aRangesVector, 
pSrcDoc );
-
-                    for( ScRangeList& rScRangeList : aRangesVector )
-                    {
-                        lcl_AdjustRanges( rScRangeList, nSrcTab, nDestTab, 
pDestDoc->GetTableCount() );
-                    }
-                    pDestDoc->SetChartRanges( aChartName, aRangesVector );
+                    lcl_AdjustRanges( rScRangeList, nSrcTab, nDestTab, 
pDestDoc->GetTableCount() );
                 }
+                pDestDoc->SetChartRanges( aChartName, aRangesVector );
             }
-            pObject = aIter.Next();
         }
+        pObject = aIter.Next();
     }
 }
 
@@ -156,21 +156,21 @@ void ScChartHelper::UpdateChartsOnDestinationPage( 
ScDocument* pDestDoc, const S
         return;
 
     SdrPage* pDestPage = 
pDrawLayer->GetPage(static_cast<sal_uInt16>(nDestTab));
-    if( pDestPage )
+    if( !pDestPage )
+        return;
+
+    SdrObjListIter aIter( pDestPage, SdrIterMode::Flat );
+    SdrObject* pObject = aIter.Next();
+    while( pObject )
     {
-        SdrObjListIter aIter( pDestPage, SdrIterMode::Flat );
-        SdrObject* pObject = aIter.Next();
-        while( pObject )
+        if( pObject->GetObjIdentifier() == OBJ_OLE2 && 
static_cast<SdrOle2Obj*>(pObject)->IsChart() )
         {
-            if( pObject->GetObjIdentifier() == OBJ_OLE2 && 
static_cast<SdrOle2Obj*>(pObject)->IsChart() )
-            {
-                OUString aChartName = 
static_cast<SdrOle2Obj*>(pObject)->GetPersistName();
-                Reference< chart2::XChartDocument > xChartDoc( 
pDestDoc->GetChartByName( aChartName ) );
-                Reference< util::XModifiable > xModif(xChartDoc, 
uno::UNO_QUERY_THROW);
-                xModif->setModified( true);
-            }
-            pObject = aIter.Next();
+            OUString aChartName = 
static_cast<SdrOle2Obj*>(pObject)->GetPersistName();
+            Reference< chart2::XChartDocument > xChartDoc( 
pDestDoc->GetChartByName( aChartName ) );
+            Reference< util::XModifiable > xModif(xChartDoc, 
uno::UNO_QUERY_THROW);
+            xModif->setModified( true);
         }
+        pObject = aIter.Next();
     }
 }
 
@@ -283,44 +283,44 @@ void ScChartHelper::SetChartRanges( const uno::Reference< 
chart2::XChartDocument
 
 void ScChartHelper::AddRangesIfProtectedChart( ScRangeListVector& 
rRangesVector, const ScDocument* pDocument, SdrObject* pObject )
 {
-    if ( pDocument && pObject && ( pObject->GetObjIdentifier() == OBJ_OLE2 ) )
+    if ( !(pDocument && pObject && ( pObject->GetObjIdentifier() == OBJ_OLE2 
)) )
+        return;
+
+    SdrOle2Obj* pSdrOle2Obj = dynamic_cast< SdrOle2Obj* >( pObject );
+    if ( !(pSdrOle2Obj && pSdrOle2Obj->IsChart()) )
+        return;
+
+    const uno::Reference< embed::XEmbeddedObject >& xEmbeddedObj = 
pSdrOle2Obj->GetObjRef();
+    if ( !xEmbeddedObj.is() )
+        return;
+
+    bool bDisableDataTableDialog = false;
+    sal_Int32 nOldState = xEmbeddedObj->getCurrentState();
+    svt::EmbeddedObjectRef::TryRunningState( xEmbeddedObj );
+    uno::Reference< beans::XPropertySet > xProps( 
xEmbeddedObj->getComponent(), uno::UNO_QUERY );
+    if ( xProps.is() &&
+         ( xProps->getPropertyValue("DisableDataTableDialog") >>= 
bDisableDataTableDialog ) &&
+         bDisableDataTableDialog )
     {
-        SdrOle2Obj* pSdrOle2Obj = dynamic_cast< SdrOle2Obj* >( pObject );
-        if ( pSdrOle2Obj && pSdrOle2Obj->IsChart() )
+        ScChartListenerCollection* pCollection = 
pDocument->GetChartListenerCollection();
+        if (pCollection)
         {
-            const uno::Reference< embed::XEmbeddedObject >& xEmbeddedObj = 
pSdrOle2Obj->GetObjRef();
-            if ( xEmbeddedObj.is() )
+            const OUString& aChartName = pSdrOle2Obj->GetPersistName();
+            const ScChartListener* pListener = 
pCollection->findByName(aChartName);
+            if (pListener)
             {
-                bool bDisableDataTableDialog = false;
-                sal_Int32 nOldState = xEmbeddedObj->getCurrentState();
-                svt::EmbeddedObjectRef::TryRunningState( xEmbeddedObj );
-                uno::Reference< beans::XPropertySet > xProps( 
xEmbeddedObj->getComponent(), uno::UNO_QUERY );
-                if ( xProps.is() &&
-                     ( xProps->getPropertyValue("DisableDataTableDialog") >>= 
bDisableDataTableDialog ) &&
-                     bDisableDataTableDialog )
-                {
-                    ScChartListenerCollection* pCollection = 
pDocument->GetChartListenerCollection();
-                    if (pCollection)
-                    {
-                        const OUString& aChartName = 
pSdrOle2Obj->GetPersistName();
-                        const ScChartListener* pListener = 
pCollection->findByName(aChartName);
-                        if (pListener)
-                        {
-                            const ScRangeListRef& rRangeList = 
pListener->GetRangeList();
-                            if ( rRangeList.is() )
-                            {
-                                rRangesVector.push_back( *rRangeList );
-                            }
-                        }
-                    }
-                }
-                if ( xEmbeddedObj->getCurrentState() != nOldState )
+                const ScRangeListRef& rRangeList = pListener->GetRangeList();
+                if ( rRangeList.is() )
                 {
-                    xEmbeddedObj->changeState( nOldState );
+                    rRangesVector.push_back( *rRangeList );
                 }
             }
         }
     }
+    if ( xEmbeddedObj->getCurrentState() != nOldState )
+    {
+        xEmbeddedObj->changeState( nOldState );
+    }
 }
 
 void ScChartHelper::FillProtectedChartRangesVector( ScRangeListVector& 
rRangesVector, const ScDocument* pDocument, const SdrPage* pPage )
@@ -339,95 +339,95 @@ void ScChartHelper::FillProtectedChartRangesVector( 
ScRangeListVector& rRangesVe
 
 void ScChartHelper::GetChartNames( ::std::vector< OUString >& rChartNames, 
const SdrPage* pPage )
 {
-    if ( pPage )
+    if ( !pPage )
+        return;
+
+    SdrObjListIter aIter( pPage, SdrIterMode::DeepNoGroups );
+    SdrObject* pObject = aIter.Next();
+    while ( pObject )
     {
-        SdrObjListIter aIter( pPage, SdrIterMode::DeepNoGroups );
-        SdrObject* pObject = aIter.Next();
-        while ( pObject )
+        if ( pObject->GetObjIdentifier() == OBJ_OLE2 )
         {
-            if ( pObject->GetObjIdentifier() == OBJ_OLE2 )
+            SdrOle2Obj* pSdrOle2Obj = dynamic_cast< SdrOle2Obj* >( pObject );
+            if ( pSdrOle2Obj && pSdrOle2Obj->IsChart() )
             {
-                SdrOle2Obj* pSdrOle2Obj = dynamic_cast< SdrOle2Obj* >( pObject 
);
-                if ( pSdrOle2Obj && pSdrOle2Obj->IsChart() )
-                {
-                    rChartNames.push_back( pSdrOle2Obj->GetPersistName() );
-                }
+                rChartNames.push_back( pSdrOle2Obj->GetPersistName() );
             }
-            pObject = aIter.Next();
         }
+        pObject = aIter.Next();
     }
 }
 
 void ScChartHelper::CreateProtectedChartListenersAndNotify( ScDocument* pDoc, 
const SdrPage* pPage, ScModelObj* pModelObj, SCTAB nTab,
     const ScRangeListVector& rRangesVector, const ::std::vector< OUString >& 
rExcludedChartNames, bool bSameDoc )
 {
-    if ( pDoc && pPage && pModelObj )
+    if ( !(pDoc && pPage && pModelObj) )
+        return;
+
+    size_t nRangeListCount = rRangesVector.size();
+    size_t nRangeList = 0;
+    SdrObjListIter aIter( pPage, SdrIterMode::DeepNoGroups );
+    SdrObject* pObject = aIter.Next();
+    while ( pObject )
     {
-        size_t nRangeListCount = rRangesVector.size();
-        size_t nRangeList = 0;
-        SdrObjListIter aIter( pPage, SdrIterMode::DeepNoGroups );
-        SdrObject* pObject = aIter.Next();
-        while ( pObject )
+        if ( pObject->GetObjIdentifier() == OBJ_OLE2 )
         {
-            if ( pObject->GetObjIdentifier() == OBJ_OLE2 )
+            SdrOle2Obj* pSdrOle2Obj = dynamic_cast< SdrOle2Obj* >( pObject );
+            if ( pSdrOle2Obj && pSdrOle2Obj->IsChart() )
             {
-                SdrOle2Obj* pSdrOle2Obj = dynamic_cast< SdrOle2Obj* >( pObject 
);
-                if ( pSdrOle2Obj && pSdrOle2Obj->IsChart() )
+                const OUString& aChartName = pSdrOle2Obj->GetPersistName();
+                ::std::vector< OUString >::const_iterator aEnd = 
rExcludedChartNames.end();
+                ::std::vector< OUString >::const_iterator aFound = 
::std::find( rExcludedChartNames.begin(), aEnd, aChartName );
+                if ( aFound == aEnd )
                 {
-                    const OUString& aChartName = pSdrOle2Obj->GetPersistName();
-                    ::std::vector< OUString >::const_iterator aEnd = 
rExcludedChartNames.end();
-                    ::std::vector< OUString >::const_iterator aFound = 
::std::find( rExcludedChartNames.begin(), aEnd, aChartName );
-                    if ( aFound == aEnd )
+                    const uno::Reference< embed::XEmbeddedObject >& 
xEmbeddedObj = pSdrOle2Obj->GetObjRef();
+                    if ( xEmbeddedObj.is() && ( nRangeList < nRangeListCount ) 
)
                     {
-                        const uno::Reference< embed::XEmbeddedObject >& 
xEmbeddedObj = pSdrOle2Obj->GetObjRef();
-                        if ( xEmbeddedObj.is() && ( nRangeList < 
nRangeListCount ) )
+                        bool bDisableDataTableDialog = false;
+                        svt::EmbeddedObjectRef::TryRunningState( xEmbeddedObj 
);
+                        uno::Reference< beans::XPropertySet > xProps( 
xEmbeddedObj->getComponent(), uno::UNO_QUERY );
+                        if ( xProps.is() &&
+                             ( 
xProps->getPropertyValue("DisableDataTableDialog") >>= bDisableDataTableDialog 
) &&
+                             bDisableDataTableDialog )
                         {
-                            bool bDisableDataTableDialog = false;
-                            svt::EmbeddedObjectRef::TryRunningState( 
xEmbeddedObj );
-                            uno::Reference< beans::XPropertySet > xProps( 
xEmbeddedObj->getComponent(), uno::UNO_QUERY );
-                            if ( xProps.is() &&
-                                 ( 
xProps->getPropertyValue("DisableDataTableDialog") >>= bDisableDataTableDialog 
) &&
-                                 bDisableDataTableDialog )
+                            if ( bSameDoc )
                             {
-                                if ( bSameDoc )
+                                ScChartListenerCollection* pCollection = 
pDoc->GetChartListenerCollection();
+                                if (pCollection && 
!pCollection->findByName(aChartName))
                                 {
-                                    ScChartListenerCollection* pCollection = 
pDoc->GetChartListenerCollection();
-                                    if (pCollection && 
!pCollection->findByName(aChartName))
-                                    {
-                                        ScRangeList aRangeList( rRangesVector[ 
nRangeList++ ] );
-                                        ScRangeListRef rRangeList( new 
ScRangeList( aRangeList ) );
-                                        ScChartListener* pChartListener = new 
ScChartListener( aChartName, pDoc, rRangeList );
-                                        pCollection->insert( pChartListener );
-                                        pChartListener->StartListeningTo();
-                                    }
-                                }
-                                else
-                                {
-                                    
xProps->setPropertyValue("DisableDataTableDialog",
-                                        uno::makeAny( false ) );
-                                    
xProps->setPropertyValue("DisableComplexChartTypes",
-                                        uno::makeAny( false ) );
+                                    ScRangeList aRangeList( rRangesVector[ 
nRangeList++ ] );
+                                    ScRangeListRef rRangeList( new 
ScRangeList( aRangeList ) );
+                                    ScChartListener* pChartListener = new 
ScChartListener( aChartName, pDoc, rRangeList );
+                                    pCollection->insert( pChartListener );
+                                    pChartListener->StartListeningTo();
                                 }
                             }
+                            else
+                            {
+                                
xProps->setPropertyValue("DisableDataTableDialog",
+                                    uno::makeAny( false ) );
+                                
xProps->setPropertyValue("DisableComplexChartTypes",
+                                    uno::makeAny( false ) );
+                            }
                         }
+                    }
 
-                        if (pModelObj->HasChangesListeners())
-                        {
-                            tools::Rectangle aRectangle = 
pSdrOle2Obj->GetSnapRect();
-                            ScRange aRange( pDoc->GetRange( nTab, aRectangle ) 
);
-                            ScRangeList aChangeRanges( aRange );
+                    if (pModelObj->HasChangesListeners())
+                    {
+                        tools::Rectangle aRectangle = 
pSdrOle2Obj->GetSnapRect();
+                        ScRange aRange( pDoc->GetRange( nTab, aRectangle ) );
+                        ScRangeList aChangeRanges( aRange );
 
-                            uno::Sequence< beans::PropertyValue > aProperties( 
1 );
-                            aProperties[ 0 ].Name = "Name";
-                            aProperties[ 0 ].Value <<= aChartName;
+                        uno::Sequence< beans::PropertyValue > aProperties( 1 );
+                        aProperties[ 0 ].Name = "Name";
+                        aProperties[ 0 ].Value <<= aChartName;
 
-                            pModelObj->NotifyChanges( "insert-chart", 
aChangeRanges, aProperties );
-                        }
+                        pModelObj->NotifyChanges( "insert-chart", 
aChangeRanges, aProperties );
                     }
                 }
             }
-            pObject = aIter.Next();
         }
+        pObject = aIter.Next();
     }
 }
 
diff --git a/sc/source/core/tool/chgtrack.cxx b/sc/source/core/tool/chgtrack.cxx
index ab1714d3683e..4f12df13ec42 100644
--- a/sc/source/core/tool/chgtrack.cxx
+++ b/sc/source/core/tool/chgtrack.cxx
@@ -478,27 +478,27 @@ void ScChangeAction::GetDescription(
         return;
     }
 
-    if (pReject->HasDependent())
-    {
-        ScChangeActionMap aMap;
-        pCT->GetDependents( pReject, aMap, false, true );
-        ScChangeActionMap::iterator itChangeAction = 
std::find_if(aMap.begin(), aMap.end(),
-            [&pReject](const ScChangeActionMap::value_type& rEntry) {
-                return rEntry.second->GetType() == SC_CAT_MOVE || 
pReject->IsDeleteType(); });
-        if (itChangeAction != aMap.end())
-        {
-            if( itChangeAction->second->GetType() == SC_CAT_MOVE)
-                aBuf.append(
-                    ScResId(STR_CHANGED_MOVE_REJECTION_WARNING));
-            else
-                aBuf.append(
-                    ScResId(STR_CHANGED_DELETE_REJECTION_WARNING));
+    if (!pReject->HasDependent())
+        return;
 
-            aBuf.append(' ');
-            rStr = aBuf.makeStringAndClear();
-            return;
-        }
-    }
+    ScChangeActionMap aMap;
+    pCT->GetDependents( pReject, aMap, false, true );
+    ScChangeActionMap::iterator itChangeAction = std::find_if(aMap.begin(), 
aMap.end(),
+        [&pReject](const ScChangeActionMap::value_type& rEntry) {
+            return rEntry.second->GetType() == SC_CAT_MOVE || 
pReject->IsDeleteType(); });
+    if (itChangeAction == aMap.end())
+        return;
+
+    if( itChangeAction->second->GetType() == SC_CAT_MOVE)
+        aBuf.append(
+            ScResId(STR_CHANGED_MOVE_REJECTION_WARNING));
+    else
+        aBuf.append(
+            ScResId(STR_CHANGED_DELETE_REJECTION_WARNING));
+
+    aBuf.append(' ');
+    rStr = aBuf.makeStringAndClear();
+    return;
 }
 
 OUString ScChangeAction::GetRefString(
@@ -711,19 +711,19 @@ void ScChangeActionIns::GetDescription(
 
     OUString aRsc = ScResId(STR_CHANGED_INSERT);
     sal_Int32 nPos = aRsc.indexOf("#1");
-    if (nPos >= 0)
-    {
-        // Construct a range string to replace '#1' first.
-        OUStringBuffer aBuf(ScResId(pWhatId));
-        aBuf.append(' ');
-        aBuf.append(GetRefString(GetBigRange(), pDoc));
-        OUString aRangeStr = aBuf.makeStringAndClear();
+    if (nPos < 0)
+        return;
 
-        aRsc = aRsc.replaceAt(nPos, 2, aRangeStr); // replace '#1' with the 
range string.
+    // Construct a range string to replace '#1' first.
+    OUStringBuffer aBuf(ScResId(pWhatId));
+    aBuf.append(' ');
+    aBuf.append(GetRefString(GetBigRange(), pDoc));
+    OUString aRangeStr = aBuf.makeStringAndClear();
 
-        aBuf.append(rStr).append(aRsc);
-        rStr = aBuf.makeStringAndClear();
-    }
+    aRsc = aRsc.replaceAt(nPos, 2, aRangeStr); // replace '#1' with the range 
string.
+
+    aBuf.append(rStr).append(aRsc);
+    rStr = aBuf.makeStringAndClear();
 }
 
 bool ScChangeActionIns::IsEndOfList() const
@@ -959,19 +959,19 @@ void ScChangeActionDel::GetDescription(
 
     OUString aRsc = ScResId(STR_CHANGED_DELETE);
     sal_Int32 nPos = aRsc.indexOf("#1");
-    if (nPos >= 0)
-    {
-        // Build a string to replace with.
-        OUStringBuffer aBuf;
-        aBuf.append(ScResId(pWhatId));
-        aBuf.append(' ');
-        aBuf.append(GetRefString(aTmpRange, pDoc));
-        OUString aRangeStr = aBuf.makeStringAndClear();
-        aRsc = aRsc.replaceAt(nPos, 2, aRangeStr); // replace '#1' with the 
string.
+    if (nPos < 0)
+        return;
 
-        aBuf.append(rStr).append(aRsc);
-        rStr = aBuf.makeStringAndClear(); // append to the original.
-    }
+    // Build a string to replace with.
+    OUStringBuffer aBuf;
+    aBuf.append(ScResId(pWhatId));
+    aBuf.append(' ');
+    aBuf.append(GetRefString(aTmpRange, pDoc));
+    OUString aRangeStr = aBuf.makeStringAndClear();
+    aRsc = aRsc.replaceAt(nPos, 2, aRangeStr); // replace '#1' with the string.
+
+    aBuf.append(rStr).append(aRsc);
+    rStr = aBuf.makeStringAndClear(); // append to the original.
 }
 
 bool ScChangeActionDel::Reject( ScDocument* pDoc )
@@ -1095,35 +1095,35 @@ void ScChangeActionDel::UndoCutOffMoves()
 
 void ScChangeActionDel::UndoCutOffInsert()
 {   //Restore cut off Insert
-    if ( pCutOff )
+    if ( !pCutOff )
+        return;
+
+    switch ( pCutOff->GetType() )
     {
-        switch ( pCutOff->GetType() )
+        case SC_CAT_INSERT_COLS :
+            if ( nCutOff < 0 )
+                pCutOff->GetBigRange().aEnd.IncCol( -nCutOff );
+            else
+                pCutOff->GetBigRange().aStart.IncCol( -nCutOff );
+        break;
+        case SC_CAT_INSERT_ROWS :
+            if ( nCutOff < 0 )
+                pCutOff->GetBigRange().aEnd.IncRow( -nCutOff );
+            else
+                pCutOff->GetBigRange().aStart.IncRow( -nCutOff );
+        break;
+        case SC_CAT_INSERT_TABS :
+            if ( nCutOff < 0 )
+                pCutOff->GetBigRange().aEnd.IncTab( -nCutOff );
+            else
+                pCutOff->GetBigRange().aStart.IncTab( -nCutOff );
+        break;
+        default:
         {
-            case SC_CAT_INSERT_COLS :
-                if ( nCutOff < 0 )
-                    pCutOff->GetBigRange().aEnd.IncCol( -nCutOff );
-                else
-                    pCutOff->GetBigRange().aStart.IncCol( -nCutOff );
-            break;
-            case SC_CAT_INSERT_ROWS :
-                if ( nCutOff < 0 )
-                    pCutOff->GetBigRange().aEnd.IncRow( -nCutOff );
-                else
-                    pCutOff->GetBigRange().aStart.IncRow( -nCutOff );
-            break;
-            case SC_CAT_INSERT_TABS :
-                if ( nCutOff < 0 )
-                    pCutOff->GetBigRange().aEnd.IncTab( -nCutOff );
-                else
-                    pCutOff->GetBigRange().aStart.IncTab( -nCutOff );
-            break;
-            default:
-            {
-                // added to avoid warnings
-            }
+            // added to avoid warnings
         }
-        SetCutOffInsert( nullptr, 0 );
     }
+    SetCutOffInsert( nullptr, 0 );
 }
 
 //  ScChangeActionMove
@@ -1866,21 +1866,21 @@ static void lcl_InvalidateReference( const ScDocument* 
pDoc, formula::FormulaTok
     {
         rRef1.SetTabDeleted( true );
     }
-    if ( rTok.GetType() == formula::svDoubleRef )
+    if ( rTok.GetType() != formula::svDoubleRef )
+        return;
+
+    ScSingleRefData& rRef2 = rTok.GetDoubleRef()->Ref2;
+    if ( rPos.Col() < 0 || pDoc->MaxCol() < rPos.Col() )
     {
-        ScSingleRefData& rRef2 = rTok.GetDoubleRef()->Ref2;
-        if ( rPos.Col() < 0 || pDoc->MaxCol() < rPos.Col() )
-        {
-            rRef2.SetColDeleted( true );
-        }
-        if ( rPos.Row() < 0 || pDoc->MaxRow() < rPos.Row() )
-        {
-            rRef2.SetRowDeleted( true );
-        }
-        if ( rPos.Tab() < 0 || MAXTAB < rPos.Tab() )
-        {
-            rRef2.SetTabDeleted( true );
-        }
+        rRef2.SetColDeleted( true );
+    }
+    if ( rPos.Row() < 0 || pDoc->MaxRow() < rPos.Row() )
+    {
+        rRef2.SetRowDeleted( true );
+    }
+    if ( rPos.Tab() < 0 || MAXTAB < rPos.Tab() )
+    {
+        rRef2.SetTabDeleted( true );
     }
 }
 
@@ -1902,111 +1902,113 @@ void ScChangeActionContent::UpdateReference( const 
ScChangeTrack* pTrack,
 
     bool bOldFormula = maOldCell.meType == CELLTYPE_FORMULA;
     bool bNewFormula = maNewCell.meType == CELLTYPE_FORMULA;
-    if ( bOldFormula || bNewFormula )
-    {   // Adjust UpdateReference via ScFormulaCell (there)
-        if ( pTrack->IsInDelete() )
-        {
-            const ScRange& rDelRange = pTrack->GetInDeleteRange();
-            if ( nDx > 0 )
-                nDx = rDelRange.aEnd.Col() - rDelRange.aStart.Col() + 1;
-            else if ( nDx < 0 )
-                nDx = -(rDelRange.aEnd.Col() - rDelRange.aStart.Col() + 1);
-            if ( nDy > 0 )
-                nDy = rDelRange.aEnd.Row() - rDelRange.aStart.Row() + 1;
-            else if ( nDy < 0 )
-                nDy = -(rDelRange.aEnd.Row() - rDelRange.aStart.Row() + 1);
-            if ( nDz > 0 )
-                nDz = rDelRange.aEnd.Tab() - rDelRange.aStart.Tab() + 1;
-            else if ( nDz < 0 )
-                nDz = -(rDelRange.aEnd.Tab() - rDelRange.aStart.Tab() + 1);
-        }
-        ScBigRange aTmpRange( rRange );
-        switch ( eMode )
-        {
-            case URM_INSDEL :
-                if ( nDx < 0 || nDy < 0 || nDz < 0 )
-                {   // Delete starts there after removed range
-                    // Position is changed there
-                    if ( nDx )
-                        aTmpRange.aStart.IncCol( -nDx );
-                    if ( nDy )
-                        aTmpRange.aStart.IncRow( -nDy );
-                    if ( nDz )
-                        aTmpRange.aStart.IncTab( -nDz );
-                }
-            break;
-            case URM_MOVE :
-                // Move is Source here and Target there
-                // Position needs to be adjusted before that
-                if ( bOldFormula )
-                    maOldCell.mpFormula->aPos = aBigRange.aStart.MakeAddress();
-                if ( bNewFormula )
-                    maNewCell.mpFormula->aPos = aBigRange.aStart.MakeAddress();
+    if ( !(bOldFormula || bNewFormula) )
+        return;
+
+// Adjust UpdateReference via ScFormulaCell (there)
+    if ( pTrack->IsInDelete() )
+    {
+        const ScRange& rDelRange = pTrack->GetInDeleteRange();
+        if ( nDx > 0 )
+            nDx = rDelRange.aEnd.Col() - rDelRange.aStart.Col() + 1;
+        else if ( nDx < 0 )
+            nDx = -(rDelRange.aEnd.Col() - rDelRange.aStart.Col() + 1);
+        if ( nDy > 0 )
+            nDy = rDelRange.aEnd.Row() - rDelRange.aStart.Row() + 1;
+        else if ( nDy < 0 )
+            nDy = -(rDelRange.aEnd.Row() - rDelRange.aStart.Row() + 1);
+        if ( nDz > 0 )
+            nDz = rDelRange.aEnd.Tab() - rDelRange.aStart.Tab() + 1;
+        else if ( nDz < 0 )
+            nDz = -(rDelRange.aEnd.Tab() - rDelRange.aStart.Tab() + 1);
+    }
+    ScBigRange aTmpRange( rRange );
+    switch ( eMode )
+    {
+        case URM_INSDEL :
+            if ( nDx < 0 || nDy < 0 || nDz < 0 )
+            {   // Delete starts there after removed range
+                // Position is changed there
                 if ( nDx )
-                {
-                    aTmpRange.aStart.IncCol( nDx );
-                    aTmpRange.aEnd.IncCol( nDx );
-                }
+                    aTmpRange.aStart.IncCol( -nDx );
                 if ( nDy )
-                {
-                    aTmpRange.aStart.IncRow( nDy );
-                    aTmpRange.aEnd.IncRow( nDy );
-                }
+                    aTmpRange.aStart.IncRow( -nDy );
                 if ( nDz )
-                {
-                    aTmpRange.aStart.IncTab( nDz );
-                    aTmpRange.aEnd.IncTab( nDz );
-                }
-            break;
-            default:
-            {
-                // added to avoid warnings
+                    aTmpRange.aStart.IncTab( -nDz );
             }
-        }
-        ScRange aRange( aTmpRange.MakeRange() );
-
-        sc::RefUpdateContext aRefCxt(*pTrack->GetDocument());
-        aRefCxt.meMode = eMode;
-        aRefCxt.maRange = aRange;
-        aRefCxt.mnColDelta = nDx;
-        aRefCxt.mnRowDelta = nDy;
-        aRefCxt.mnTabDelta = nDz;
-
-        if ( bOldFormula )
-            maOldCell.mpFormula->UpdateReference(aRefCxt);
-        if ( bNewFormula )
-            maNewCell.mpFormula->UpdateReference(aRefCxt);
-
-        if ( !aBigRange.aStart.IsValid( pTrack->GetDocument() ) )
-        {   //FIXME:
-            // UpdateReference cannot handle positions outside of the Document.
-            // Therefore set everything to #REF!
-            //TODO: Remove the need for this hack! This means big changes to 
ScAddress etc.!
-            const ScBigAddress& rPos = aBigRange.aStart;
+        break;
+        case URM_MOVE :
+            // Move is Source here and Target there
+            // Position needs to be adjusted before that
             if ( bOldFormula )
+                maOldCell.mpFormula->aPos = aBigRange.aStart.MakeAddress();
+            if ( bNewFormula )
+                maNewCell.mpFormula->aPos = aBigRange.aStart.MakeAddress();
+            if ( nDx )
             {
-                formula::FormulaToken* t;
-                ScTokenArray* pArr = maOldCell.mpFormula->GetCode();
-                formula::FormulaTokenArrayPlainIterator aIter(*pArr);
-                while ( ( t = aIter.GetNextReference() ) != nullptr )
-                    lcl_InvalidateReference( pTrack->GetDocument(), *t, rPos );
-                aIter.Reset();
-                while ( ( t = aIter.GetNextReferenceRPN() ) != nullptr )
-                    lcl_InvalidateReference( pTrack->GetDocument(), *t, rPos );
+                aTmpRange.aStart.IncCol( nDx );
+                aTmpRange.aEnd.IncCol( nDx );
             }
-            if ( bNewFormula )
+            if ( nDy )
+            {
+                aTmpRange.aStart.IncRow( nDy );
+                aTmpRange.aEnd.IncRow( nDy );
+            }
+            if ( nDz )
             {
-                formula::FormulaToken* t;
-                ScTokenArray* pArr = maNewCell.mpFormula->GetCode();
-                formula::FormulaTokenArrayPlainIterator aIter(*pArr);
-                while ( ( t = aIter.GetNextReference() ) != nullptr )
-                    lcl_InvalidateReference( pTrack->GetDocument(), *t, rPos );
-                aIter.Reset();
-                while ( ( t = aIter.GetNextReferenceRPN() ) != nullptr )
-                    lcl_InvalidateReference( pTrack->GetDocument(), *t, rPos );
+                aTmpRange.aStart.IncTab( nDz );
+                aTmpRange.aEnd.IncTab( nDz );
             }
+        break;
+        default:
+        {
+            // added to avoid warnings
         }
     }
+    ScRange aRange( aTmpRange.MakeRange() );
+
+    sc::RefUpdateContext aRefCxt(*pTrack->GetDocument());
+    aRefCxt.meMode = eMode;
+    aRefCxt.maRange = aRange;
+    aRefCxt.mnColDelta = nDx;
+    aRefCxt.mnRowDelta = nDy;
+    aRefCxt.mnTabDelta = nDz;
+
+    if ( bOldFormula )
+        maOldCell.mpFormula->UpdateReference(aRefCxt);
+    if ( bNewFormula )
+        maNewCell.mpFormula->UpdateReference(aRefCxt);
+
+    if ( aBigRange.aStart.IsValid( pTrack->GetDocument() ) )
+        return;
+
+//FIXME:
+    // UpdateReference cannot handle positions outside of the Document.
+    // Therefore set everything to #REF!
+    //TODO: Remove the need for this hack! This means big changes to ScAddress 
etc.!
+    const ScBigAddress& rPos = aBigRange.aStart;
+    if ( bOldFormula )
+    {
+        formula::FormulaToken* t;
+        ScTokenArray* pArr = maOldCell.mpFormula->GetCode();
+        formula::FormulaTokenArrayPlainIterator aIter(*pArr);
+        while ( ( t = aIter.GetNextReference() ) != nullptr )
+            lcl_InvalidateReference( pTrack->GetDocument(), *t, rPos );
+        aIter.Reset();
+        while ( ( t = aIter.GetNextReferenceRPN() ) != nullptr )
+            lcl_InvalidateReference( pTrack->GetDocument(), *t, rPos );
+    }
+    if ( bNewFormula )
+    {
+        formula::FormulaToken* t;
+        ScTokenArray* pArr = maNewCell.mpFormula->GetCode();
+        formula::FormulaTokenArrayPlainIterator aIter(*pArr);
+        while ( ( t = aIter.GetNextReference() ) != nullptr )
+            lcl_InvalidateReference( pTrack->GetDocument(), *t, rPos );
+        aIter.Reset();
+        while ( ( t = aIter.GetNextReferenceRPN() ) != nullptr )
+            lcl_InvalidateReference( pTrack->GetDocument(), *t, rPos );
+    }
 }
 
 bool ScChangeActionContent::IsMatrixOrigin() const
@@ -2200,28 +2202,28 @@ ScChangeAction* ScChangeTrack::GetLastSaved() const
 
 void ScChangeTrack::ConfigurationChanged( utl::ConfigurationBroadcaster*, 
ConfigurationHints )
 {
-    if ( !pDoc->IsInDtorClear() )
-    {
-        const SvtUserOptions& rUserOptions = SC_MOD()->GetUserOptions();
-        size_t nOldCount = maUserCollection.size();
+    if ( pDoc->IsInDtorClear() )
+        return;
 
-        OUStringBuffer aBuf;
-        aBuf.append(rUserOptions.GetFirstName());
-        aBuf.append(' ');
-        aBuf.append(rUserOptions.GetLastName());
-        SetUser(aBuf.makeStringAndClear());
+    const SvtUserOptions& rUserOptions = SC_MOD()->GetUserOptions();
+    size_t nOldCount = maUserCollection.size();
 
-        if ( maUserCollection.size() != nOldCount )
-        {
-            //  New user in collection -> have to repaint because
-            //  colors may be different now (#106697#).
-            //  (Has to be done in the Notify handler, to be sure
-            //  the user collection has already been updated)
-
-            SfxObjectShell* pDocSh = pDoc->GetDocumentShell();
-            if (pDocSh)
-                pDocSh->Broadcast( ScPaintHint( 
ScRange(0,0,0,pDoc->MaxCol(),pDoc->MaxRow(),MAXTAB), PaintPartFlags::Grid ) );
-        }
+    OUStringBuffer aBuf;
+    aBuf.append(rUserOptions.GetFirstName());
+    aBuf.append(' ');
+    aBuf.append(rUserOptions.GetLastName());
+    SetUser(aBuf.makeStringAndClear());
+
+    if ( maUserCollection.size() != nOldCount )
+    {
+        //  New user in collection -> have to repaint because
+        //  colors may be different now (#106697#).
+        //  (Has to be done in the Notify handler, to be sure
+        //  the user collection has already been updated)
+
+        SfxObjectShell* pDocSh = pDoc->GetDocumentShell();
+        if (pDocSh)
+            pDocSh->Broadcast( ScPaintHint( 
ScRange(0,0,0,pDoc->MaxCol(),pDoc->MaxRow(),MAXTAB), PaintPartFlags::Grid ) );
     }
 }
 
@@ -2247,36 +2249,36 @@ void ScChangeTrack::StartBlockModify( 
ScChangeTrackMsgType eMsgType,
 
 void ScChangeTrack::EndBlockModify( sal_uLong nEndAction )
 {
-    if ( aModifiedLink.IsSet() )
+    if ( !aModifiedLink.IsSet() )
+        return;
+
+    if ( xBlockModifyMsg )
     {
-        if ( xBlockModifyMsg )
+        if ( xBlockModifyMsg->nStartAction <= nEndAction )
         {
-            if ( xBlockModifyMsg->nStartAction <= nEndAction )
-            {
-                xBlockModifyMsg->nEndAction = nEndAction;
-                // Blocks dissolved in Blocks
-                aMsgStackFinal.push_back( *xBlockModifyMsg );
-            }
-            else
-                xBlockModifyMsg.reset();
-            if (aMsgStackTmp.empty())
-                xBlockModifyMsg.reset();
-            else
-            {
-                xBlockModifyMsg = aMsgStackTmp.back(); // Maybe Block in Block
-                aMsgStackTmp.pop_back();
-            }
+            xBlockModifyMsg->nEndAction = nEndAction;
+            // Blocks dissolved in Blocks
+            aMsgStackFinal.push_back( *xBlockModifyMsg );
         }
-        if ( !xBlockModifyMsg )
+        else
+            xBlockModifyMsg.reset();
+        if (aMsgStackTmp.empty())
+            xBlockModifyMsg.reset();
+        else
         {
-            bool bNew = !aMsgStackFinal.empty();
-            aMsgQueue.reserve(aMsgQueue.size() + aMsgStackFinal.size());
-            aMsgQueue.insert(aMsgQueue.end(), aMsgStackFinal.rbegin(), 
aMsgStackFinal.rend());
-            aMsgStackFinal.clear();
-            if ( bNew )
-                aModifiedLink.Call( *this );
+            xBlockModifyMsg = aMsgStackTmp.back(); // Maybe Block in Block
+            aMsgStackTmp.pop_back();
         }
     }
+    if ( !xBlockModifyMsg )
+    {
+        bool bNew = !aMsgStackFinal.empty();
+        aMsgQueue.reserve(aMsgQueue.size() + aMsgStackFinal.size());
+        aMsgQueue.insert(aMsgQueue.end(), aMsgStackFinal.rbegin(), 
aMsgStackFinal.rend());
+        aMsgStackFinal.clear();
+        if ( bNew )
+            aModifiedLink.Call( *this );
+    }
 }
 
 ScChangeTrackMsgQueue& ScChangeTrack::GetMsgQueue()
@@ -2402,22 +2404,22 @@ void ScChangeTrack::Append( ScChangeAction* pAppend, 
sal_uLong nAction )
         UpdateReference( pAppend, false );
     MasterLinks( pAppend );
 
-    if ( aModifiedLink.IsSet() )
+    if ( !aModifiedLink.IsSet() )
+        return;
+
+    NotifyModified( ScChangeTrackMsgType::Append, nAction, nAction );
+    if ( pAppend->GetType() == SC_CAT_CONTENT )
     {
-        NotifyModified( ScChangeTrackMsgType::Append, nAction, nAction );
-        if ( pAppend->GetType() == SC_CAT_CONTENT )
+        ScChangeActionContent* pContent = 
static_cast<ScChangeActionContent*>(pAppend);
+        if ( ( pContent = pContent->GetPrevContent() ) != nullptr )
         {
-            ScChangeActionContent* pContent = 
static_cast<ScChangeActionContent*>(pAppend);
-            if ( ( pContent = pContent->GetPrevContent() ) != nullptr )
-            {
-                sal_uLong nMod = pContent->GetActionNumber();
-                NotifyModified( ScChangeTrackMsgType::Change, nMod, nMod );
-            }
+            sal_uLong nMod = pContent->GetActionNumber();
+            NotifyModified( ScChangeTrackMsgType::Change, nMod, nMod );
         }
-        else
-            NotifyModified( ScChangeTrackMsgType::Change, 
pFirst->GetActionNumber(),
-                pLast->GetActionNumber() );
     }
+    else
+        NotifyModified( ScChangeTrackMsgType::Change, 
pFirst->GetActionNumber(),
+            pLast->GetActionNumber() );
 }
 
 void ScChangeTrack::Append( ScChangeAction* pAppend )
@@ -2652,21 +2654,21 @@ void ScChangeTrack::AppendContent( const ScAddress& 
rPos, const ScCellValue& rOl
 void ScChangeTrack::SetLastCutMoveRange( const ScRange& rRange,
         ScDocument* pRefDoc )
 {
-    if ( pLastCutMove )
-    {
-        // Do not link ToRange with Deletes and don't change its size
-        // This is actually unnecessary, as a delete triggers a ResetLastCut
-        // in ScViewFunc::PasteFromClip before that
-        ScBigRange& r = pLastCutMove->GetBigRange();
-        r.aEnd.SetCol( -1 );
-        r.aEnd.SetRow( -1 );
-        r.aEnd.SetTab( -1 );
-        r.aStart.SetCol( -1 - (rRange.aEnd.Col() - rRange.aStart.Col()) );
-        r.aStart.SetRow( -1 - (rRange.aEnd.Row() - rRange.aStart.Row()) );
-        r.aStart.SetTab( -1 - (rRange.aEnd.Tab() - rRange.aStart.Tab()) );
-        // Contents in FromRange we should overwrite
-        LookUpContents( rRange, pRefDoc, 0, 0, 0 );
-    }
+    if ( !pLastCutMove )
+        return;
+
+    // Do not link ToRange with Deletes and don't change its size
+    // This is actually unnecessary, as a delete triggers a ResetLastCut
+    // in ScViewFunc::PasteFromClip before that
+    ScBigRange& r = pLastCutMove->GetBigRange();
+    r.aEnd.SetCol( -1 );
+    r.aEnd.SetRow( -1 );
+    r.aEnd.SetTab( -1 );
+    r.aStart.SetCol( -1 - (rRange.aEnd.Col() - rRange.aStart.Col()) );
+    r.aStart.SetRow( -1 - (rRange.aEnd.Row() - rRange.aStart.Row()) );
+    r.aStart.SetTab( -1 - (rRange.aEnd.Tab() - rRange.aStart.Tab()) );
+    // Contents in FromRange we should overwrite
+    LookUpContents( rRange, pRefDoc, 0, 0, 0 );
 }
 
 void ScChangeTrack::AppendContentRange( const ScRange& rRange,
@@ -2982,46 +2984,46 @@ void ScChangeTrack::Dependencies( ScChangeAction* pAct )
         }
     }
 
-    if ( pLinkMove )
-    {
-        if ( eActType == SC_CAT_CONTENT )
-        {   // Content is depending on FromRange
-            const ScBigAddress& rPos = rRange.aStart;
-            for ( ScChangeActionLinkEntry* pL = pLinkMove; pL; pL = 
pL->GetNext() )
+    if ( !pLinkMove )
+        return;
+
+    if ( eActType == SC_CAT_CONTENT )
+    {   // Content is depending on FromRange
+        const ScBigAddress& rPos = rRange.aStart;
+        for ( ScChangeActionLinkEntry* pL = pLinkMove; pL; pL = pL->GetNext() )
+        {
+            ScChangeActionMove* pTest = 
static_cast<ScChangeActionMove*>(pL->GetAction());
+            if ( !pTest->IsRejected() &&
+                    pTest->GetFromRange().In( rPos ) )
             {
-                ScChangeActionMove* pTest = 
static_cast<ScChangeActionMove*>(pL->GetAction());
-                if ( !pTest->IsRejected() &&
-                        pTest->GetFromRange().In( rPos ) )
-                {
-                    AddDependentWithNotify( pTest, pAct );
-                }
+                AddDependentWithNotify( pTest, pAct );
             }
         }
-        else if ( eActType == SC_CAT_MOVE )
-        {   // Move FromRange is depending on ToRange
-            const ScBigRange& rFromRange = 
static_cast<ScChangeActionMove*>(pAct)->GetFromRange();
-            for ( ScChangeActionLinkEntry* pL = pLinkMove; pL; pL = 
pL->GetNext() )
+    }
+    else if ( eActType == SC_CAT_MOVE )
+    {   // Move FromRange is depending on ToRange
+        const ScBigRange& rFromRange = 
static_cast<ScChangeActionMove*>(pAct)->GetFromRange();
+        for ( ScChangeActionLinkEntry* pL = pLinkMove; pL; pL = pL->GetNext() )
+        {
+            ScChangeActionMove* pTest = 
static_cast<ScChangeActionMove*>(pL->GetAction());
+            if ( !pTest->IsRejected() &&
+                    pTest->GetBigRange().Intersects( rFromRange ) )
             {
-                ScChangeActionMove* pTest = 
static_cast<ScChangeActionMove*>(pL->GetAction());
-                if ( !pTest->IsRejected() &&
-                        pTest->GetBigRange().Intersects( rFromRange ) )
-                {
-                    AddDependentWithNotify( pTest, pAct );
-                }
+                AddDependentWithNotify( pTest, pAct );
             }
         }
-        else
-        {   // Inserts and Deletes are depending as soon as they cross 
FromRange or
-            // ToRange
-            for ( ScChangeActionLinkEntry* pL = pLinkMove; pL; pL = 
pL->GetNext() )
+    }
+    else
+    {   // Inserts and Deletes are depending as soon as they cross FromRange or
+        // ToRange
+        for ( ScChangeActionLinkEntry* pL = pLinkMove; pL; pL = pL->GetNext() )
+        {
+            ScChangeActionMove* pTest = 
static_cast<ScChangeActionMove*>(pL->GetAction());
+            if ( !pTest->IsRejected() &&
+                    (pTest->GetFromRange().Intersects( rRange ) ||
+                    pTest->GetBigRange().Intersects( rRange )) )
             {
-                ScChangeActionMove* pTest = 
static_cast<ScChangeActionMove*>(pL->GetAction());
-                if ( !pTest->IsRejected() &&
-                        (pTest->GetFromRange().Intersects( rRange ) ||
-                        pTest->GetBigRange().Intersects( rRange )) )
-                {
-                    AddDependentWithNotify( pTest, pAct );
-                }
+                AddDependentWithNotify( pTest, pAct );
             }
         }
     }
@@ -3215,22 +3217,22 @@ void ScChangeTrack::MergePrepare( const ScChangeAction* 
pFirstMerge, bool bShare
 void ScChangeTrack::MergeOwn( ScChangeAction* pAct, sal_uLong nFirstMerge, 
bool bShared )
 {
     // #i94841# [Collaboration] When deleting rows is rejected, the content is 
sometimes wrong
-    if ( bShared || !ScChangeTrack::MergeIgnore( *pAct, nFirstMerge ) )
+    if ( !(bShared || !ScChangeTrack::MergeIgnore( *pAct, nFirstMerge )) )
+        return;
+
+    SetMergeState( SC_CTMS_OWN );
+    if ( pAct->IsDeleteType() )
     {
-        SetMergeState( SC_CTMS_OWN );
-        if ( pAct->IsDeleteType() )
+        if ( static_cast<ScChangeActionDel*>(pAct)->IsTopDelete() )
         {
-            if ( static_cast<ScChangeActionDel*>(pAct)->IsTopDelete() )
-            {
-                SetInDeleteTop( true );
-                SetInDeleteRange( static_cast<ScChangeActionDel*>(pAct)->
-                    GetOverAllRange().MakeRange() );
-            }
+            SetInDeleteTop( true );
+            SetInDeleteRange( static_cast<ScChangeActionDel*>(pAct)->
+                GetOverAllRange().MakeRange() );
         }
-        UpdateReference( pAct, false );
-        SetInDeleteTop( false );
-        SetMergeState( SC_CTMS_OTHER ); // Preceding by default MergeOther!
     }
+    UpdateReference( pAct, false );
+    SetInDeleteTop( false );
+    SetMergeState( SC_CTMS_OTHER ); // Preceding by default MergeOther!
 }
 
 void ScChangeTrack::UpdateReference( ScChangeAction* pAct, bool bUndo )
@@ -4659,44 +4661,44 @@ ScChangeTrack* ScChangeTrack::Clone( ScDocument* 
pDocument ) const
 
 void ScChangeTrack::MergeActionState( ScChangeAction* pAct, const 
ScChangeAction* pOtherAct )
 {
-    if ( pAct->IsVirgin() )
+    if ( !pAct->IsVirgin() )
+        return;
+
+    if ( pOtherAct->IsAccepted() )
     {
-        if ( pOtherAct->IsAccepted() )
-        {
-            pAct->Accept();
-            if ( pOtherAct->IsRejecting() )
-            {
-                pAct->SetRejectAction( pOtherAct->GetRejectAction() );
-            }
-        }
-        else if ( pOtherAct->IsRejected() )
+        pAct->Accept();
+        if ( pOtherAct->IsRejecting() )
         {
-            pAct->SetRejected();
+            pAct->SetRejectAction( pOtherAct->GetRejectAction() );
         }
     }
+    else if ( pOtherAct->IsRejected() )
+    {
+        pAct->SetRejected();
+    }
 }
 
 /// Get info about a single ScChangeAction element.
 static void lcl_getTrackedChange(ScDocument* pDoc, int nIndex, const 
ScChangeAction* pAction, tools::JsonWriter& rRedlines)
 {
-    if (pAction->GetType() == SC_CAT_CONTENT)
-    {
-        auto redlinesNode = rRedlines.startNode("");
-        rRedlines.put("index", static_cast<sal_Int64>(nIndex));
+    if (pAction->GetType() != SC_CAT_CONTENT)
+        return;
 
-        rRedlines.put("author", pAction->GetUser());
+    auto redlinesNode = rRedlines.startNode("");
+    rRedlines.put("index", static_cast<sal_Int64>(nIndex));
 
-        rRedlines.put("type", "Modify");
+    rRedlines.put("author", pAction->GetUser());
 
-        rRedlines.put("comment", pAction->GetComment());
+    rRedlines.put("type", "Modify");
 
-        OUString aDescription;
-        pAction->GetDescription(aDescription, pDoc, true);
-        rRedlines.put("description", aDescription);
+    rRedlines.put("comment", pAction->GetComment());
 
-        OUString sDateTime = 
utl::toISO8601(pAction->GetDateTimeUTC().GetUNODateTime());
-        rRedlines.put("dateTime", sDateTime);
-    }
+    OUString aDescription;
+    pAction->GetDescription(aDescription, pDoc, true);
+    rRedlines.put("description", aDescription);
+
+    OUString sDateTime = 
utl::toISO8601(pAction->GetDateTimeUTC().GetUNODateTime());
+    rRedlines.put("dateTime", sDateTime);
 }
 
 void ScChangeTrack::GetChangeTrackInfo(tools::JsonWriter& aRedlines)
diff --git a/sc/source/core/tool/compiler.cxx b/sc/source/core/tool/compiler.cxx
index 3dc18b0fe5dc..4eb3012b04ad 100644
--- a/sc/source/core/tool/compiler.cxx
+++ b/sc/source/core/tool/compiler.cxx
@@ -262,19 +262,19 @@ void ScCompiler::SetNumberFormatter( SvNumberFormatter* 
pFormatter )
 
 void ScCompiler::SetFormulaLanguage( const ScCompiler::OpCodeMapPtr & xMap )
 {
-    if (xMap)
+    if (!xMap)
+        return;
+
+    mxSymbols = xMap;
+    if (mxSymbols->isEnglish())
     {
-        mxSymbols = xMap;
-        if (mxSymbols->isEnglish())
-        {
-            if (!pCharClassEnglish)
-                InitCharClassEnglish();
-            pCharClass = pCharClassEnglish;
-        }
-        else
-            pCharClass = ScGlobal::getCharClassPtr();
-        SetGrammarAndRefConvention( mxSymbols->getGrammar(), GetGrammar());
+        if (!pCharClassEnglish)
+            InitCharClassEnglish();
+        pCharClass = pCharClassEnglish;
     }
+    else
+        pCharClass = ScGlobal::getCharClassPtr();
+    SetGrammarAndRefConvention( mxSymbols->getGrammar(), GetGrammar());
 }
 
 void ScCompiler::SetGrammarAndRefConvention(
@@ -409,8 +409,9 @@ ScCompiler::Convention::Convention( 
FormulaGrammar::AddressConvention eConv )
 /* ~ */     t[126] = ScCharFlags::Char;        // OOo specific
 /* 127 */   // FREE
 
-    if( FormulaGrammar::CONV_XL_A1 == meConv || FormulaGrammar::CONV_XL_R1C1 
== meConv || FormulaGrammar::CONV_XL_OOX == meConv )
-    {
+    if( !(FormulaGrammar::CONV_XL_A1 == meConv || FormulaGrammar::CONV_XL_R1C1 
== meConv || FormulaGrammar::CONV_XL_OOX == meConv) )
+return;
+
 /*   */     t[32] |=   ScCharFlags::Word;
 /* ! */     t[33] |=   ScCharFlags::Ident | ScCharFlags::Word;
 /* " */     t[34] |=   ScCharFlags::Word;
@@ -445,7 +446,6 @@ ScCompiler::Convention::Convention( 
FormulaGrammar::AddressConvention eConv )
 /* | */     t[124]|=   ScCharFlags::Word;
 /* } */     t[125]|=   ScCharFlags::Word;
 /* ~ */     t[126]|=   ScCharFlags::Word;
-    }

... etc. - the rest is truncated
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to