From e4e599036131997e696dd4277412d0f32f713bfa Mon Sep 17 00:00:00 2001 From: Mike Thomas Date: Thu, 11 Mar 2010 01:27:51 +0000 Subject: [PATCH] Not sure it really matters in the editor-specific code, but this IS safer if a bit more verbose... git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@901 c613c5cb-e716-0410-b11b-feb51c14d237 --- .../stage/tools/editor/EditorScenePanel.java | 23 +++++++++++++------ 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/src/java/com/threerings/stage/tools/editor/EditorScenePanel.java b/src/java/com/threerings/stage/tools/editor/EditorScenePanel.java index 0b3559cb..090833b0 100644 --- a/src/java/com/threerings/stage/tools/editor/EditorScenePanel.java +++ b/src/java/com/threerings/stage/tools/editor/EditorScenePanel.java @@ -1151,23 +1151,32 @@ public class EditorScenePanel extends StageScenePanel } } - protected class UndoStack extends LinkedList + protected class UndoStack { public void preserve () { - addFirst(_model.clone()); + _list.addFirst(_model.clone()); - if (size() > MAX_UNDO_SIZE) { - removeLast(); + if (_list.size() > MAX_UNDO_SIZE) { + _list.removeLast(); } } public void rollback () { - if (size() > 0) { - _model = removeFirst(); - _blocks.clear(); + if (_list.size() > 0) { + _model = _list.removeFirst(); refreshScene(); } } + + public int size () { + return _list.size(); + } + + public void clear () { + _list.clear(); + } + + LinkedList _list = Lists.newLinkedList(); } protected static final int MAX_UNDO_SIZE = 20;