include/svx/sdrundomanager.hxx | 2 -- svx/source/svdraw/sdrundomanager.cxx | 20 -------------------- sw/source/core/undo/docundo.cxx | 14 ++++++++++++++ 3 files changed, 14 insertions(+), 22 deletions(-)
New commits: commit 3c7efab4e72d6f044a3ace34c06d2dfdfafbe42b Author: Jim Raykowski <rayk...@gmail..com> AuthorDate: Thu Jul 25 00:16:04 2019 -0800 Commit: Jim Raykowski <rayk...@gmail.com> CommitDate: Thu Jul 25 18:05:44 2019 +0200 tdf#47807 Invalidate bindings to Undo Redo This patch reverts the previous commit made for this and provides a new fix. Change-Id: I487ecf0a7564f1130ef9a42e893e73185701d8c9 Reviewed-on: https://gerrit.libreoffice.org/76287 Tested-by: Jenkins Reviewed-by: Jim Raykowski <rayk...@gmail.com> diff --git a/include/svx/sdrundomanager.hxx b/include/svx/sdrundomanager.hxx index 854c4be54c51..60a06bd546c5 100644 --- a/include/svx/sdrundomanager.hxx +++ b/include/svx/sdrundomanager.hxx @@ -63,8 +63,6 @@ public: // by a last undo during text edit bool isEndTextEditTriggeredFromUndo() { return mbEndTextEditTriggeredFromUndo; } void SetDocShell(SfxObjectShell* pDocShell); - - virtual void AddUndoAction( std::unique_ptr<SfxUndoAction> pAction, bool bTryMerg=false ) override; }; #endif // INCLUDED_SVX_SDRUNDOMANAGER_HXX diff --git a/svx/source/svdraw/sdrundomanager.cxx b/svx/source/svdraw/sdrundomanager.cxx index 5d13d8e5e8a8..78e72e76196a 100644 --- a/svx/source/svdraw/sdrundomanager.cxx +++ b/svx/source/svdraw/sdrundomanager.cxx @@ -18,10 +18,7 @@ */ #include <svx/sdrundomanager.hxx> -#include <svx/svxids.hrc> -#include <sfx2/bindings.hxx> #include <sfx2/objsh.hxx> -#include <sfx2/viewfrm.hxx> #include <svl/hint.hxx> SdrUndoManager::SdrUndoManager() @@ -149,21 +146,4 @@ void SdrUndoManager::EmptyActionsChanged() } } -void SdrUndoManager::AddUndoAction( std::unique_ptr<SfxUndoAction> pAction, bool bTryMerg ) -{ - EditUndoManager::AddUndoAction( std::move(pAction), bTryMerg); - - if (m_pDocSh) - { - SfxViewFrame* pViewFrame = SfxViewFrame::GetFirst( m_pDocSh ); - while ( pViewFrame ) - { - pViewFrame->GetBindings().Invalidate( SID_UNDO ); - pViewFrame->GetBindings().Invalidate( SID_REDO ); - pViewFrame = SfxViewFrame::GetNext( *pViewFrame, m_pDocSh ); - } - } -} - - /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sw/source/core/undo/docundo.cxx b/sw/source/core/undo/docundo.cxx index 06cf409f0731..ae5ca42a4b39 100644 --- a/sw/source/core/undo/docundo.cxx +++ b/sw/source/core/undo/docundo.cxx @@ -41,6 +41,9 @@ #include <comphelper/lok.hxx> #include <assert.h> +#include <sfx2/viewfrm.hxx> +#include <sfx2/bindings.hxx> + using namespace ::com::sun::star; // the undo array should never grow beyond this limit: @@ -526,6 +529,17 @@ void UndoManager::AddUndoAction(std::unique_ptr<SfxUndoAction> pAction, bool bTr } } SdrUndoManager::AddUndoAction(std::move(pAction), bTryMerge); + if (m_pDocShell) + { + SfxViewFrame* pViewFrame = SfxViewFrame::GetFirst( m_pDocShell ); + while ( pViewFrame ) + { + pViewFrame->GetBindings().Invalidate( SID_UNDO ); + pViewFrame->GetBindings().Invalidate( SID_REDO ); + pViewFrame = SfxViewFrame::GetNext( *pViewFrame, m_pDocShell ); + } + } + // if the undo nodes array is too large, delete some actions while (UNDO_ACTION_LIMIT < GetUndoNodes().Count()) { _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits