From b0e6b71be7379f76805ed9cc01f85a4099772ea8 Mon Sep 17 00:00:00 2001 From: gcasa Date: Fri, 14 Jan 2005 10:45:09 +0000 Subject: [PATCH] Corrected problem with undo. git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@20550 72102866-910b-0410-8b05-ffd578937521 --- ChangeLog | 5 +++++ Source/NSUndoManager.m | 12 ++++++++---- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index bba4aaa6c..9fcd8fe1c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2005-01-14 05:43 Gregory John Casamento + + * Source/NSUndoManager.m: Fix forward invocation to not add + a group when it doesn't contain any actions. + 2005-01-08 Adam Fedor * Source/NSCalendarDate.m: fix time zone for %z format with diff --git a/Source/NSUndoManager.m b/Source/NSUndoManager.m index e8ca931d0..861457cd9 100644 --- a/Source/NSUndoManager.m +++ b/Source/NSUndoManager.m @@ -340,19 +340,23 @@ { if (_isUndoing) { - if (_levelsOfUndo > 0 && [_redoStack count] == _levelsOfUndo) + if (_levelsOfUndo > 0 && [_redoStack count] == _levelsOfUndo && [[g actions] count] > 0) { [_redoStack removeObjectAtIndex: 0]; } - [_redoStack addObject: g]; + + if([[g actions] count] > 0) + [_redoStack addObject: g]; } else { - if (_levelsOfUndo > 0 && [_undoStack count] == _levelsOfUndo) + if (_levelsOfUndo > 0 && [_undoStack count] == _levelsOfUndo && [[g actions] count] > 0) { [_undoStack removeObjectAtIndex: 0]; } - [_undoStack addObject: g]; + + if([[g actions] count] > 0) + [_undoStack addObject: g]; } } else if ([g actions] != nil)