[Libreoffice-commits] core.git: idl/source include/sfx2 sd/source sfx2/source svx/source

Noel Grandin noel.grandin at collabora.co.uk
Tue Mar 28 08:25:40 UTC 2017


 idl/source/objects/slot.cxx          |    2 
 include/sfx2/bindings.hxx            |    3 
 include/sfx2/msg.hxx                 |   11 +--
 sd/source/ui/dlg/PaneShells.cxx      |    4 -
 sfx2/source/control/bindings.cxx     |  122 +----------------------------------
 sfx2/source/control/dispatch.cxx     |   19 -----
 sfx2/source/control/msg.cxx          |    9 --
 sfx2/source/control/objface.cxx      |  102 ++++-------------------------
 sfx2/source/control/shell.cxx        |   13 ---
 svx/source/toolbars/extrusionbar.cxx |    2 
 svx/source/toolbars/fontworkbar.cxx  |    2 
 11 files changed, 33 insertions(+), 256 deletions(-)

New commits:
commit 7097037d5a20d2cad5a5e4b10f8f9d5aaf37589f
Author: Noel Grandin <noel.grandin at collabora.co.uk>
Date:   Mon Mar 27 14:11:21 2017 +0200

    remove enum slot code from sfx2
    
    since we only used it for the pseudo-slot stuff, which is now gone
    
    Change-Id: I72146090e7741d5b71d581fa0b5c6d43c154445a
    Reviewed-on: https://gerrit.libreoffice.org/35759
    Reviewed-by: Noel Grandin <noel.grandin at collabora.co.uk>
    Tested-by: Noel Grandin <noel.grandin at collabora.co.uk>

diff --git a/idl/source/objects/slot.cxx b/idl/source/objects/slot.cxx
index 1a5c68e65d3d..007f94fc85a3 100644
--- a/idl/source/objects/slot.cxx
+++ b/idl/source/objects/slot.cxx
@@ -549,8 +549,6 @@ void SvMetaSlot::WriteSlot( const OString& rShellName, sal_uInt16 nCount,
     }
 
 
-    rOutStm.WriteCharPtr( "0 ," );
-
     rOutStm.WriteCharPtr( "&a" ).WriteOString( rShellName ).WriteCharPtr( "Slots_Impl[" )
        .WriteOString( OString::number(pNextSlot->GetListPos()) )
        .WriteCharPtr( "] /*Offset Next*/, " ) << endl;
diff --git a/include/sfx2/bindings.hxx b/include/sfx2/bindings.hxx
index c39d075f6398..e8c95998b826 100644
--- a/include/sfx2/bindings.hxx
+++ b/include/sfx2/bindings.hxx
@@ -111,8 +111,7 @@ private:
                                     SfxFoundCacheArr_Impl& );
     SAL_DLLPRIVATE std::size_t GetSlotPos( sal_uInt16 nId, std::size_t nStartSearchAt = 0 );
     SAL_DLLPRIVATE void Update_Impl( SfxStateCache* pCache );
-    SAL_DLLPRIVATE void UpdateControllers_Impl(
-                            const SfxInterface* pIF,
+    static SAL_DLLPRIVATE void UpdateControllers_Impl(
                             const SfxFoundCache_Impl& rFound,
                             const SfxPoolItem *pItem,
                             SfxItemState eItemState );
diff --git a/include/sfx2/msg.hxx b/include/sfx2/msg.hxx
index d0985c07d522..d16f6b4dd0a7 100644
--- a/include/sfx2/msg.hxx
+++ b/include/sfx2/msg.hxx
@@ -85,7 +85,6 @@ namespace o3tl
 enum class SfxSlotKind
 {
     Standard,
-    Enum,
     Attribute
 };
 
@@ -155,7 +154,7 @@ SFX_DECL_TYPE(23); // for SvxSearchItem
                  ExecMethodPtr, \
                  StateMethodPtr, \
                  (const SfxType*) &a##ItemClass##_Impl, \
-                 0, 0, \
+                 0, \
                  &a##aShellClass##Args_Impl[nArg0], nArgs, SfxDisableFlags::NONE, Name \
                }
 
@@ -165,16 +164,16 @@ SFX_DECL_TYPE(23); // for SvxSearchItem
                  ExecMethodPtr, \
                  StateMethodPtr, \
                  (const SfxType*) &a##ItemClass##_Impl, \
-                 0, 0, 0, 0, 0 \
+                 0, 0, 0, 0 \
                }
 
-#define SFX_NEW_SLOT_ARG( aShellClass, id, GroupId, pLinked, pNext, ExecMethodPtr, StateMethodPtr, Flags, DisableFlags, ItemClass, nArg0, nArgs, Prop, UnoName ) \
+#define SFX_NEW_SLOT_ARG( aShellClass, id, GroupId, pNext, ExecMethodPtr, StateMethodPtr, Flags, DisableFlags, ItemClass, nArg0, nArgs, Prop, UnoName ) \
                { id, GroupId, Flags | Prop, \
                  USHRT_MAX, 0, \
                  ExecMethodPtr, \
                  StateMethodPtr, \
                  (const SfxType*) &a##ItemClass##_Impl, \
-                 pLinked, pNext, \
+                 pNext, \
                  &a##aShellClass##Args_Impl[nArg0], nArgs, DisableFlags, UnoName \
                }
 
@@ -204,7 +203,6 @@ public:
 
     const SfxType*  pType;       // SfxPoolItem-Type (Status)
 
-    const SfxSlot*  pLinkedSlot; // Master-Slot for Enum value
     const SfxSlot*  pNextSlot;   // with the same Status-Method
 
     const SfxFormalArgument*  pFirstArgDef;  // first formal Argument-Definition
@@ -236,7 +234,6 @@ public:
     SfxExecFunc     GetExecFnc() const { return fnExec; }
     SfxStateFunc    GetStateFnc() const { return fnState; }
 
-    const SfxSlot*  GetLinkedSlot() const { return pLinkedSlot; }
     const SfxSlot*  GetNextSlot() const { return pNextSlot; }
 };
 
diff --git a/sd/source/ui/dlg/PaneShells.cxx b/sd/source/ui/dlg/PaneShells.cxx
index 9f7200569331..ac6a514602fa 100644
--- a/sd/source/ui/dlg/PaneShells.cxx
+++ b/sd/source/ui/dlg/PaneShells.cxx
@@ -33,7 +33,7 @@ namespace sd {
 
 static SfxSlot aLeftImpressPaneShellSlots_Impl[] =
 {
-    { 0, 0, SfxSlotMode::NONE, 0, 0, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 0, SfxDisableFlags::NONE, nullptr }
+    { 0, 0, SfxSlotMode::NONE, 0, 0, nullptr, nullptr, nullptr, nullptr, nullptr, 0, SfxDisableFlags::NONE, nullptr }
 };
 
 SFX_IMPL_INTERFACE(LeftImpressPaneShell, SfxShell)
@@ -58,7 +58,7 @@ LeftImpressPaneShell::~LeftImpressPaneShell()
 
 static SfxSlot aLeftDrawPaneShellSlots_Impl[] =
 {
-    { 0, 0, SfxSlotMode::NONE, 0, 0, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 0, SfxDisableFlags::NONE, nullptr }
+    { 0, 0, SfxSlotMode::NONE, 0, 0, nullptr, nullptr, nullptr, nullptr, nullptr, 0, SfxDisableFlags::NONE, nullptr }
 };
 
 SFX_IMPL_INTERFACE(LeftDrawPaneShell, SfxShell)
diff --git a/sfx2/source/control/bindings.cxx b/sfx2/source/control/bindings.cxx
index 7c08d1ad3176..1161d3cef9fb 100644
--- a/sfx2/source/control/bindings.cxx
+++ b/sfx2/source/control/bindings.cxx
@@ -325,8 +325,6 @@ void SfxBindings::Update_Impl
         if ( rDispat.FillState_( *pMsgServer, *pSet, pRealSlot ) )
         {
             // Post Status
-            const SfxInterface *pInterface =
-                rDispat.GetShell(pMsgServer->GetShellLevel())->GetInterface();
             for ( size_t nPos = 0; nPos < aFound.size(); ++nPos )
             {
                 const SfxFoundCache_Impl& rFound = aFound[nPos];
@@ -335,7 +333,7 @@ void SfxBindings::Update_Impl
                 SfxItemState eState = pSet->GetItemState(nWhich, true, &pItem);
                 if ( eState == SfxItemState::DEFAULT && SfxItemPool::IsWhich(nWhich) )
                     pItem = &pSet->Get(nWhich);
-                UpdateControllers_Impl( pInterface, aFound[nPos], pItem, eState );
+                UpdateControllers_Impl( aFound[nPos], pItem, eState );
             }
             bUpdated = true;
         }
@@ -349,7 +347,7 @@ void SfxBindings::Update_Impl
         // (for example due to locked Dispatcher! ),
         // obviously do not try to update
         SfxFoundCache_Impl aFoundCache(0, pRealSlot, pCache );
-        UpdateControllers_Impl( nullptr, aFoundCache, nullptr, SfxItemState::DISABLED);
+        UpdateControllers_Impl( aFoundCache, nullptr, SfxItemState::DISABLED);
     }
 }
 
@@ -1059,17 +1057,7 @@ void SfxBindings::Execute_Impl( SfxRequest& aReq, const SfxSlot* pSlot, SfxShell
 {
     SfxItemPool &rPool = pShell->GetPool();
 
-    if ( SfxSlotKind::Enum == pSlot->GetKind() )
-    {
-        // for Enum-Slots, the Master has to be executed with the value
-        // of the enums
-        const SfxSlot *pRealSlot = pShell->GetInterface()->GetRealSlot(pSlot);
-        const sal_uInt16 nSlotId = pRealSlot->GetSlotId();
-        aReq.SetSlot( nSlotId );
-        aReq.AppendItem( SfxAllEnumItem( rPool.GetWhich(nSlotId), pSlot->GetValue() ) );
-        pDispatcher->Execute_( *pShell, *pRealSlot, aReq, aReq.GetCallMode() | SfxCallMode::RECORD );
-    }
-    else if ( SfxSlotKind::Attribute == pSlot->GetKind() )
+    if ( SfxSlotKind::Attribute == pSlot->GetKind() )
     {
         // Which value has to be mapped for Attribute slots
         const sal_uInt16 nSlotId = pSlot->GetSlotId();
@@ -1209,14 +1197,7 @@ SfxItemSet* SfxBindings::CreateSet_Impl
 
     // get the status method, which is served by the pCache
     SfxStateFunc pFnc = nullptr;
-    const SfxInterface *pInterface = pShell->GetInterface();
-    if ( SfxSlotKind::Enum == pMsgSvr->GetSlot()->GetKind() )
-    {
-        pRealSlot = pInterface->GetRealSlot(pMsgSvr->GetSlot());
-        pCache = GetStateCache( pRealSlot->GetSlotId() );
-    }
-    else
-        pRealSlot = pMsgSvr->GetSlot();
+    pRealSlot = pMsgSvr->GetSlot();
 
     // Note: pCache can be NULL!
 
@@ -1254,33 +1235,6 @@ SfxItemSet* SfxBindings::CreateSet_Impl
         // It is not enough to ask for the same shell!!
         bool bSameMethod = pSiblingCache && pFnc == pSiblingFnc;
 
-        // If the slot is a non-dirty master slot, then maybe one of his slaves
-        // is dirty? Then the master slot is still inserted.
-        if ( !bInsert && bSameMethod && pSibling->GetLinkedSlot() )
-        {
-            // Also check slave slots for Binding
-            const SfxSlot* pFirstSlave = pSibling->GetLinkedSlot();
-            for ( const SfxSlot *pSlaveSlot = pFirstSlave;
-                  !bInsert;
-                  pSlaveSlot = pSlaveSlot->GetNextSlot())
-            {
-                // the slaves points to its master
-                DBG_ASSERT(pSlaveSlot->GetLinkedSlot() == pSibling,
-                    "Wrong Master/Slave relationship!");
-
-                std::size_t nCurMsgPos = pImpl->nMsgPos;
-                const SfxStateCache *pSlaveCache =
-                    GetStateCache( pSlaveSlot->GetSlotId(), &nCurMsgPos );
-
-                // Is the slave slot chached and dirty ?
-                bInsert = pSlaveCache && pSlaveCache->IsControllerDirty();
-
-                // Slaves are chained together in a circle
-                if (pSlaveSlot->GetNextSlot() == pFirstSlave)
-                    break;
-            }
-        }
-
         if ( bInsert && bSameMethod )
         {
             SfxFoundCache_Impl *pFoundCache = new SfxFoundCache_Impl(
@@ -1315,15 +1269,11 @@ SfxItemSet* SfxBindings::CreateSet_Impl
 
 void SfxBindings::UpdateControllers_Impl
 (
-    const SfxInterface*         pIF,    // Id of the current serving Interface
     const SfxFoundCache_Impl&   rFound, // Cache, Slot, Which etc.
     const SfxPoolItem*          pItem,  // item to send to controller
     SfxItemState                eState  // state of item
 )
 {
-    DBG_ASSERT( !rFound.pSlot || SfxSlotKind::Enum != rFound.pSlot->GetKind(),
-                "direct update of enum slot isn't allowed" );
-
     SfxStateCache* pCache = rFound.pCache;
     const SfxSlot* pSlot = rFound.pSlot;
     DBG_ASSERT( !pCache || !pSlot || pCache->GetId() == pSlot->GetSlotId(), "SID mismatch" );
@@ -1348,70 +1298,6 @@ void SfxBindings::UpdateControllers_Impl
         else
             pCache->SetState(SfxItemState::DEFAULT, pItem);
     }
-
-    // Update the slots for so far available and bound Controllers for
-    // Slave-Slots (Enum-value)
-    DBG_ASSERT( !pSlot || nullptr == pSlot->GetLinkedSlot() || !pItem ||
-                dynamic_cast< const SfxEnumItemInterface *>( pItem ) !=  nullptr,
-                "master slot with non-enum-type found" );
-    const SfxSlot *pFirstSlave = pSlot ? pSlot->GetLinkedSlot() : nullptr;
-    if ( pIF && pFirstSlave)
-    {
-        // Items cast on EnumItem
-        const SfxEnumItemInterface *pEnumItem = dynamic_cast< const SfxEnumItemInterface* >(pItem);
-        if ( eState == SfxItemState::DEFAULT && !pEnumItem )
-            eState = SfxItemState::DONTCARE;
-        else
-            eState = SfxControllerItem::GetItemState( pEnumItem );
-
-        // Iterate over all Slaves-Slots
-        for ( const SfxSlot *pSlave = pFirstSlave; pSlave; pSlave = pSlave->GetNextSlot() )
-        {
-            DBG_ASSERT(pSlave, "Wrong SlaveSlot binding!");
-            DBG_ASSERT(SfxSlotKind::Enum == pSlave->GetKind(),"non enum slaves aren't allowed");
-            DBG_ASSERT(pSlave->GetMasterSlotId() == pSlot->GetSlotId(),"Wrong MasterSlot!");
-
-            // Binding exist for function ?
-            SfxStateCache *pEnumCache = GetStateCache( pSlave->GetSlotId() );
-            if ( pEnumCache )
-            {
-                pEnumCache->Invalidate(false);
-
-                // HACK(CONTROL/SELECT Kram) ???
-                if ( eState == SfxItemState::DONTCARE && rFound.nWhichId == 10144 )
-                {
-                    SfxVoidItem aVoid(0);
-                    pEnumCache->SetState( SfxItemState::UNKNOWN, &aVoid );
-
-                    if (pSlave->GetNextSlot() == pFirstSlave)
-                        break;
-
-                    continue;
-                }
-
-                if ( SfxItemState::DISABLED == eState || (pEnumItem && !pEnumItem->IsEnabled( pSlave->GetSlotId())) )
-                {
-                    // disabled
-                    pEnumCache->SetState(SfxItemState::DISABLED, nullptr);
-                }
-                else if ( SfxItemState::DEFAULT == eState && pEnumItem )
-                {
-                    // Determine enum value
-                    sal_uInt16 nValue = pEnumItem->GetEnumValue();
-                    SfxBoolItem aBool( rFound.nWhichId, pSlave->GetValue() == nValue );
-                    pEnumCache->SetState(SfxItemState::DEFAULT, &aBool);
-                }
-                else
-                {
-                    // ambiguous
-                    pEnumCache->SetState( SfxItemState::DONTCARE, INVALID_POOL_ITEM );
-                }
-            }
-
-            if (pSlave->GetNextSlot() == pFirstSlave)
-                break;
-        }
-    }
 }
 
 IMPL_LINK( SfxBindings, NextJob, Timer *, pTimer, void )
diff --git a/sfx2/source/control/dispatch.cxx b/sfx2/source/control/dispatch.cxx
index 4303cd9e0485..fd0cb6ec9cfa 100644
--- a/sfx2/source/control/dispatch.cxx
+++ b/sfx2/source/control/dispatch.cxx
@@ -396,24 +396,11 @@ void SfxDispatcher::Call_Impl(SfxShell& rShell, const SfxSlot &rSlot, SfxRequest
         {
             SfxBindings *pBindings = GetBindings();
 
-            // When AutoUpdate update immediately; "Pseudoslots" must not be
-            // Autoupdate!
+            // When AutoUpdate update immediately
             if ( bAutoUpdate && pBindings )
             {
-                const SfxSlot* pSlave = rSlot.GetLinkedSlot();
-                if (pSlave)
-                {
-                    // When enum slots take any bound slave slot
-                    while (!pBindings->IsBound(pSlave->GetSlotId()) && pSlave != &rSlot )
-                        pSlave = pSlave->GetLinkedSlot();
-                    pBindings->Invalidate(pSlave->GetSlotId());
-                    pBindings->Update(pSlave->GetSlotId());
-                }
-                else
-                {
-                    pBindings->Invalidate(rSlot.GetSlotId());
-                    pBindings->Update(rSlot.GetSlotId());
-                }
+                pBindings->Invalidate(rSlot.GetSlotId());
+                pBindings->Update(rSlot.GetSlotId());
             }
         }
     }
diff --git a/sfx2/source/control/msg.cxx b/sfx2/source/control/msg.cxx
index 947a5276fdfb..07bf409b8c61 100644
--- a/sfx2/source/control/msg.cxx
+++ b/sfx2/source/control/msg.cxx
@@ -29,13 +29,8 @@ SfxSlotKind SfxSlot::GetKind() const
         return SfxSlotKind::Standard;
     if ( nMasterSlotId && fnExec==nullptr && fnState==nullptr )
     {
-        if ( *pType->pType == typeid(SfxBoolItem) )
-            return SfxSlotKind::Enum;
-        else
-        {
-            OSL_FAIL( "invalid slot kind detected" );
-            return SfxSlotKind::Enum;
-        }
+        assert(false);
+        return SfxSlotKind::Standard;
     }
     else
         return SfxSlotKind::Attribute;
diff --git a/sfx2/source/control/objface.cxx b/sfx2/source/control/objface.cxx
index 0bf304903c19..b5bc6f6ab7fa 100644
--- a/sfx2/source/control/objface.cxx
+++ b/sfx2/source/control/objface.cxx
@@ -145,32 +145,7 @@ void SfxInterface::SetSlotMap( SfxSlot& rSlotMap, sal_uInt16 nSlotCount )
             assert( nIter == nCount ||
                     pIter->GetSlotId() != (pIter+1)->GetSlotId() );
 
-            // every master refers to his first slave (ENUM),
-            // all slaves refer to their master.
-            // Slaves refer in a circle to the other slaves with the same master
-            if ( pIter->GetKind() == SfxSlotKind::Enum )
-            {
-                pIter->pLinkedSlot = GetSlot( pIter->nMasterSlotId );
-                assert( pIter->pLinkedSlot );
-                if ( !pIter->pLinkedSlot->pLinkedSlot )
-                    const_cast<SfxSlot*>(pIter->pLinkedSlot)->pLinkedSlot = pIter;
-
-                if ( nullptr == pIter->GetNextSlot() )
-                {
-                    SfxSlot *pLastSlot = pIter;
-                    for ( sal_uInt16 n = nIter; n < Count(); ++n )
-                    {
-                        SfxSlot *pCurSlot = (pSlots+n);
-                        if ( pCurSlot->nMasterSlotId == pIter->nMasterSlotId )
-                        {
-                            pLastSlot->pNextSlot = pCurSlot;
-                            pLastSlot = pCurSlot;
-                        }
-                    }
-                    pLastSlot->pNextSlot = pIter;
-                }
-            }
-            else if ( nullptr == pIter->GetNextSlot() )
+            if ( nullptr == pIter->GetNextSlot() )
             {
                 // Slots referring in circle to the next with the same
                 // Status method.
@@ -198,70 +173,21 @@ void SfxInterface::SetSlotMap( SfxSlot& rSlotMap, sal_uInt16 nSlotCount )
             if ( pNext->GetSlotId() <= pIter->GetSlotId() )
                 SAL_WARN( "sfx.control", "Wrong order" );
 
-            if ( pIter->GetKind() == SfxSlotKind::Enum )
-            {
-                const SfxSlot *pMasterSlot = GetSlot(pIter->nMasterSlotId);
-                const SfxSlot *pFirstSlave = pMasterSlot->pLinkedSlot;
-                const SfxSlot *pSlave = pFirstSlave;
-                do
-                {
-                    if ( pSlave->pLinkedSlot != pMasterSlot )
-                    {
-                        OStringBuffer aStr("Wrong Master/Slave- link: ");
-                        aStr.append(static_cast<sal_Int32>(
-                            pMasterSlot->GetSlotId()));
-                        aStr.append(" , ");
-                        aStr.append(static_cast<sal_Int32>(
-                            pSlave->GetSlotId()));
-                        SAL_WARN("sfx.control", aStr.getStr());
-                    }
-
-                    if ( pSlave->nMasterSlotId != pMasterSlot->GetSlotId() )
-                    {
-                        OStringBuffer aStr("Wrong Master/Slave-Ids: ");
-                        aStr.append(static_cast<sal_Int32>(
-                            pMasterSlot->GetSlotId()));
-                        aStr.append(" , ");
-                        aStr.append(static_cast<sal_Int32>(
-                            pSlave->GetSlotId()));
-                        SAL_WARN("sfx.control", aStr.getStr());
-                    }
-
-                    pSlave = pSlave->pNextSlot;
-                }
-                while ( pSlave != pFirstSlave );
-            }
-            else
+            const SfxSlot *pCurSlot = pIter;
+            do
             {
-                if ( pIter->pLinkedSlot )
-                {
-                    if ( pIter->pLinkedSlot->GetKind() != SfxSlotKind::Enum )
-                    {
-                        OStringBuffer aStr("Slave is no enum: ");
-                        aStr.append(static_cast<sal_Int32>(pIter->GetSlotId()));
-                        aStr.append(" , ");
-                        aStr.append(static_cast<sal_Int32>(
-                            pIter->pLinkedSlot->GetSlotId()));
-                        SAL_WARN("sfx.control", aStr.getStr());
-                    }
-                }
-
-                const SfxSlot *pCurSlot = pIter;
-                do
+                pCurSlot = pCurSlot->pNextSlot;
+                if ( pCurSlot->GetStateFnc() != pIter->GetStateFnc() )
                 {
-                    pCurSlot = pCurSlot->pNextSlot;
-                    if ( pCurSlot->GetStateFnc() != pIter->GetStateFnc() )
-                    {
-                        OStringBuffer aStr("Linked Slots with different State Methods : ");
-                        aStr.append(static_cast<sal_Int32>(
-                            pCurSlot->GetSlotId()));
-                        aStr.append(" , ");
-                        aStr.append(static_cast<sal_Int32>(pIter->GetSlotId()));
-                        SAL_WARN("sfx.control", aStr.getStr());
-                    }
+                    OStringBuffer aStr("Linked Slots with different State Methods : ");
+                    aStr.append(static_cast<sal_Int32>(
+                        pCurSlot->GetSlotId()));
+                    aStr.append(" , ");
+                    aStr.append(static_cast<sal_Int32>(pIter->GetSlotId()));
+                    SAL_WARN("sfx.control", aStr.getStr());
                 }
-                while ( pCurSlot != pIter );
             }
+            while ( pCurSlot != pIter );
 
             pIter = pNext;
         }
@@ -335,7 +261,7 @@ const SfxSlot* SfxInterface::GetRealSlot( const SfxSlot *pSlot ) const
         return nullptr;
     }
 
-    return pSlot->pLinkedSlot;
+    return nullptr;
 }
 
 
@@ -354,7 +280,7 @@ const SfxSlot* SfxInterface::GetRealSlot( sal_uInt16 nSlotId ) const
         return nullptr;
     }
 
-    return pSlot->pLinkedSlot;
+    return nullptr;
 }
 
 void SfxInterface::RegisterPopupMenu( const OUString& rResourceName )
diff --git a/sfx2/source/control/shell.cxx b/sfx2/source/control/shell.cxx
index a6afc6dcef9c..13b3be168c07 100644
--- a/sfx2/source/control/shell.cxx
+++ b/sfx2/source/control/shell.cxx
@@ -263,18 +263,8 @@ void SfxShell::Invalidate_Impl( SfxBindings& rBindings, sal_uInt16 nId )
             const SfxSlot *pSlot = pIF->GetSlot(nId);
             if ( pSlot )
             {
-                // At Enum-Slots invalidate the Master-Slot
-                if ( SfxSlotKind::Enum == pSlot->GetKind() )
-                    pSlot = pSlot->GetLinkedSlot();
-
-                // Invalidate the Slot itself and possible also all Slave-Slots
+                // Invalidate the Slot itself
                 rBindings.Invalidate( pSlot->GetSlotId() );
-                for ( const SfxSlot *pSlave = pSlot->GetLinkedSlot();
-                      pSlave && pIF->ContainsSlot_Impl( pSlave ) &&
-                        pSlave->GetLinkedSlot() == pSlot;
-                      ++pSlave )
-                    rBindings.Invalidate( pSlave->GetSlotId() );
-
                 return;
             }
 
@@ -557,7 +547,6 @@ void SfxShell::SetVerbs(const css::uno::Sequence < css::embed::VerbDescriptor >&
         pNewSlot->fnExec = SFX_STUB_PTR(SfxShell,VerbExec);
         pNewSlot->fnState = SFX_STUB_PTR(SfxShell,VerbState);
         pNewSlot->pType = nullptr; // HACK(SFX_TYPE(SfxVoidItem)) ???
-        pNewSlot->pLinkedSlot = nullptr;
         pNewSlot->nArgDefCount = 0;
         pNewSlot->pFirstArgDef = nullptr;
         pNewSlot->pUnoName = nullptr;
diff --git a/svx/source/toolbars/extrusionbar.cxx b/svx/source/toolbars/extrusionbar.cxx
index 7287e3a9f3df..73097acd80e1 100644
--- a/svx/source/toolbars/extrusionbar.cxx
+++ b/svx/source/toolbars/extrusionbar.cxx
@@ -51,7 +51,7 @@ using namespace ::com::sun::star::uno;
 // tragen wir etwas ein, was hier (hoffentlich) nie vorkommt).
 static SfxSlot aExtrusionBarSlots_Impl[] =
 {
-    { 0, 0, SfxSlotMode::NONE, 0, 0, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 0, SfxDisableFlags::NONE, nullptr }
+    { 0, 0, SfxSlotMode::NONE, 0, 0, nullptr, nullptr, nullptr, nullptr, nullptr, 0, SfxDisableFlags::NONE, nullptr }
 };
 
 SFX_IMPL_INTERFACE(ExtrusionBar, SfxShell)
diff --git a/svx/source/toolbars/fontworkbar.cxx b/svx/source/toolbars/fontworkbar.cxx
index 176945de222e..d4786d1bec71 100644
--- a/svx/source/toolbars/fontworkbar.cxx
+++ b/svx/source/toolbars/fontworkbar.cxx
@@ -172,7 +172,7 @@ void SetFontWorkShapeTypeState( SdrView* pSdrView, SfxItemSet& rSet )
 // tragen wir etwas ein, was hier (hoffentlich) nie vorkommt).
 static SfxSlot aFontworkBarSlots_Impl[] =
 {
-    { 0, 0, SfxSlotMode::NONE, 0, 0, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 0, SfxDisableFlags::NONE, nullptr }
+    { 0, 0, SfxSlotMode::NONE, 0, 0, nullptr, nullptr, nullptr, nullptr, nullptr, 0, SfxDisableFlags::NONE, nullptr }
 };
 
 SFX_IMPL_INTERFACE(FontworkBar, SfxShell)


More information about the Libreoffice-commits mailing list