JAL-3436 fix for reload not reloading files
[jalview.git] / src / jalview / project / Jalview2XML.java
index 186f786..ccfe460 100644 (file)
@@ -2742,6 +2742,13 @@ public class Jalview2XML
   public boolean attemptversion1parse = false;
 
   /**
+   * JalviewJS only -- to preserve bytes in AlignFrame
+   * 
+   * BH 2019 JAL-3436
+   */
+  private File file;
+
+  /**
    * Load a jalview project archive from a jar file
    * 
    * @param file
@@ -2800,6 +2807,10 @@ public class Jalview2XML
                        String file = (ofile instanceof File ? ((File) ofile).getCanonicalPath() : ofile.toString());
       byte[] bytes = Platform.isJS() ? Platform.getFileBytes((File) ofile)
               : null;
+      if (bytes != null)
+      {
+        this.file = (File) ofile;
+      }
                        URL url = null;
                        errorMessage = null;
                        uniqueSetSuffix = null;
@@ -4997,7 +5008,7 @@ public class Jalview2XML
     }
   }
 
-  AlignFrame loadViewport(String file, List<JSeq> JSEQ,
+  AlignFrame loadViewport(String fileName, List<JSeq> JSEQ,
           List<SequenceI> hiddenSeqs, AlignmentI al, JalviewModel jm,
           Viewport view, String uniqueSeqSetId, String viewId,
           List<JvAnnotRow> autoAlan)
@@ -5017,7 +5028,8 @@ public class Jalview2XML
     // }
     ;
     af.alignPanel.setHoldRepaint(true);
-    af.setFileName(file, FileFormat.Jalview);
+    af.setFileName(fileName, FileFormat.Jalview);
+    af.setFileObject(file); // BH 2019 JAL-3436
 
     final AlignViewport viewport = af.getViewport();
     for (int i = 0; i < JSEQ.size(); i++)