If alignment is closed, then undo performed in visible window
authoramwaterhouse <Andrew Waterhouse>
Thu, 23 Nov 2006 15:51:44 +0000 (15:51 +0000)
committeramwaterhouse <Andrew Waterhouse>
Thu, 23 Nov 2006 15:51:44 +0000 (15:51 +0000)
src/jalview/appletgui/AlignFrame.java
src/jalview/gui/AlignFrame.java

index df5b1a6..de19fd8 100755 (executable)
@@ -825,10 +825,11 @@ public void itemStateChanged(ItemEvent evt)
     //For sequence removal and addition, we need to fire\r
    //the property change event FROM the viewport where the\r
    //original alignment was altered\r
+   AlignmentI al = null;\r
     if (command instanceof EditCommand)\r
     {\r
       EditCommand editCommand = (EditCommand) command;\r
-      AlignmentI al = editCommand.getAlignment();\r
+      al = editCommand.getAlignment();\r
       Vector comps = (Vector) PaintRefresher.components\r
           .get(viewport.getSequenceSetId());\r
       for (int i = 0; i < comps.size(); i++)\r
@@ -842,17 +843,19 @@ public void itemStateChanged(ItemEvent evt)
           }\r
         }\r
       }\r
-      if (originalSource == null)\r
-      {\r
-        //The original view is closed, we must validate\r
-        //the current view against the closed view first\r
-        if (al != null)\r
-          PaintRefresher.validateSequences(al, viewport.alignment);\r
-        originalSource = viewport;\r
-      }\r
+    }\r
 \r
+    if (originalSource == null)\r
+    {\r
+      //The original view is closed, we must validate\r
+      //the current view against the closed view first\r
+      if (al != null)\r
+        PaintRefresher.validateSequences(al, viewport.alignment);\r
+\r
+      originalSource = viewport;\r
     }\r
 \r
+\r
     return originalSource;\r
   }\r
 \r
index 11570ed..9ea5fc5 100755 (executable)
@@ -990,6 +990,9 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener
    */
   protected void redoMenuItem_actionPerformed(ActionEvent e)
   {
+    if(viewport.redoList.size()<1)
+      return;
+
     CommandI command = (CommandI) viewport.redoList.pop();
     viewport.historyList.push(command);
     command.doCommand();
@@ -1010,10 +1013,11 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener
     //For sequence removal and addition, we need to fire
    //the property change event FROM the viewport where the
    //original alignment was altered
+    AlignmentI al=null;
     if (command instanceof EditCommand)
     {
       EditCommand editCommand = (EditCommand) command;
-      AlignmentI al = editCommand.getAlignment();
+      al = editCommand.getAlignment();
       Vector comps = (Vector) PaintRefresher.components
           .get(viewport.getSequenceSetId());
 
@@ -1028,19 +1032,18 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener
           }
         }
       }
-      if (originalSource == null)
-      {
-        //The original view is closed, we must validate
-        //the current view against the closed view first
-        if (al != null)
-          PaintRefresher.validateSequences(al, viewport.alignment);
+    }
 
-        originalSource = viewport;
-      }
+    if (originalSource == null)
+    {
+      //The original view is closed, we must validate
+      //the current view against the closed view first
+      if (al != null)
+        PaintRefresher.validateSequences(al, viewport.alignment);
 
+      originalSource = viewport;
     }
 
-
     return originalSource;
   }