From 1eed4c837828c00dff4ef0b2cf29b1e2962e912d Mon Sep 17 00:00:00 2001 From: Ivan Timofeev Date: Thu, 28 Jun 2012 13:12:56 +0400 Subject: i#119400 repair broken undo Change-Id: I36d74fe1555bd436f93a5fa595e7da05bbd37493 --- svl/source/undo/undo.cxx | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'svl/source') diff --git a/svl/source/undo/undo.cxx b/svl/source/undo/undo.cxx index e27bf00e5ba4..e9166758cd17 100644 --- a/svl/source/undo/undo.cxx +++ b/svl/source/undo/undo.cxx @@ -635,10 +635,14 @@ bool SfxUndoManager::ImplAddUndoAction_NoNotify( SfxUndoAction *pAction, bool bT // merge, if required SfxUndoAction* pMergeWithAction = m_pData->pActUndoArray->nCurUndoAction ? m_pData->pActUndoArray->aUndoActions[m_pData->pActUndoArray->nCurUndoAction-1].pAction : NULL; - if ( bTryMerge && ( !pMergeWithAction || !pMergeWithAction->Merge( pAction ) ) ) + if ( bTryMerge && pMergeWithAction ) { - i_guard.markForDeletion( pAction ); - return false; + bool bMerged = pMergeWithAction->Merge( pAction ); + if ( bMerged ) + { + i_guard.markForDeletion( pAction ); + return false; + } } // clear redo stack, if requested -- cgit