* Bug #10419 fixed - Exception occured while refusing to create a new empty 85/5785/6
Clément DAVID [Mon, 2 Jan 2012 09:32:28 +0000 (10:32 +0100)]
                     file.

Change-Id: I7903a7a76894ec7f97daf026295601ab8c838a48

scilab/CHANGES_5.4.X
scilab/modules/xcos/src/java/org/scilab/modules/xcos/Xcos.java
scilab/modules/xcos/src/java/org/scilab/modules/xcos/XcosTab.java
scilab/modules/xcos/src/java/org/scilab/modules/xcos/actions/OpenAction.java
scilab/modules/xcos/src/java/org/scilab/modules/xcos/graph/XcosDiagram.java

index bc49250..06e8767 100644 (file)
@@ -53,7 +53,8 @@ able to retrieve a struct but not to send it to Scilab).
 Xcos
 ====
 
-* Bug #8744 fixed - Solving the initialization problem more than once crash Scilab.
+* Bug #8744 fixed - Solving the initialization problem more than once crash
+                    Scilab.
 
 * Bug #10107 fixed - Default value of the Integrator Absolute Tolerance was
                      too large. It has been reduced to 1e-6.
@@ -64,8 +65,8 @@ Xcos
 * Bug #10340 fixed - Exception occured while moving the palette split pane to
                      hide the block list and while using a palette diagram.
 
-* Bug #10384 fixed - On exit, "Close Console" was proposed rather than "Close
-                     Scilab".
+* Bug #10419 fixed - Exception occured while refusing to create a new empty
+                     file.
 
 * Bug #10422 fixed - Exception occured when exporting with an unspecified
                      format.
@@ -85,6 +86,9 @@ Bug fixes
 
 * Bug #10044 fixed - wfir_gui function rewritten based on uicontrol and documented.
 
+* Bug #10384 fixed - On exit, "Close Console" was proposed rather than "Close
+                     Scilab".
+
 * Bug #10402 fixed - FileBrowser threw an exception when a filter was set
                      and the tree was expanded.
 
index 3a878bd..e355ec9 100644 (file)
@@ -400,7 +400,7 @@ public final class Xcos {
 
         XcosDiagram diag = null;
 
-        if (filename != null) {
+        if (filename != null && filename.exists()) {
             configuration.addToRecentFiles(filename);
 
             /*
@@ -426,7 +426,7 @@ public final class Xcos {
             }
 
             if (diag != null) {
-                addDiagram(filename, diag);
+                addDiagram(diag.getSavedFile(), diag);
             }
         }
 
index bb8d526..7b3dc93 100644 (file)
@@ -253,13 +253,14 @@ public class XcosTab extends SwingScilabTab implements Tab {
      * 
      * @param graph
      *            the graph
-     * @return the tab
+     * @return the tab (can be null)
      */
     public static XcosTab get(XcosDiagram graph) {
         final String uuid = graph.getDiagramTab();
         if (uuid == null) {
             return null;
         }
+
         return (XcosTab) ScilabTabFactory.getInstance().getFromCache(uuid);
     }
 
index c586d93..3aec6b3 100644 (file)
@@ -108,7 +108,9 @@ public final class OpenAction extends DefaultAction {
 
         final File[] multiSelected = fc.getSelectedFiles();
         for (File file : multiSelected) {
-            Xcos.getInstance().open(file);
+            if (file != onlySelected) {
+                Xcos.getInstance().open(file);
+            }
         }
     }
 
index 2b08ddc..83727f0 100644 (file)
@@ -2135,9 +2135,8 @@ public class XcosDiagram extends ScilabGraph {
                 } else {
                     return null;
                 }
-            } else {
-                return null;
             }
+
         }
         info(XcosMessages.EMPTY_INFO);
         getUndoManager().clear();