* Bug 16406 fixed: edit_curv() failed reading data (%h_set) 67/21467/3
Samuel GOUGEON [Wed, 20 May 2020 18:44:13 +0000 (20:44 +0200)]
  http://bugzilla.scilab.org/16406

Change-Id: Id26a43ec8741a928cc4bc5dd03ed38a2564a655f

scilab/CHANGES.md
scilab/modules/graphics/macros/%h_set.sci
scilab/modules/graphics/tests/nonreg_tests/bug_16406.tst [new file with mode: 0644]

index 7cc9457..8d830e8 100644 (file)
@@ -278,6 +278,7 @@ Bug Fixes
 * [#16399](https://bugzilla.scilab.org/16399): `mtlb_zeros([])` was crashing Scilab.
 * [#16401](https://bugzilla.scilab.org/16401): global `external_object_java` class was crashing Scilab.
 * [#16403](https://bugzilla.scilab.org/16403): 1D extraction of matrix with implicit index had wrong dimensions.
+* [#16406](https://bugzilla.scilab.org/16406): `edit_curv` yielded an error when reading data.
 * [#16408](https://bugzilla.scilab.org/16408): toJSON(var, indent, filename) is the right call sequence. Documentation has been udpated.
 * [#16445](https://bugzilla.scilab.org/16445): `colorbar(..)` ignored how to guess `umin` and `umax` for a Champ object (with .colored="on").
 
index 6b3504a..38bef9f 100644 (file)
@@ -55,8 +55,12 @@ function hdl = %h_set(varargin)
                         //          but a 1x4 assigment is possible
                         h(prop) = rhs(j,:);
                     else
-                        msg = _("%s: Unsupported assignment for property ''%s''.\n")
-                        error(msprintf(msg, "%h_set", prop))
+                        try
+                            h(prop) = rhs
+                        catch
+                            msg = _("%s: Unsupported assignment for property ''%s''.\n")
+                            error(msprintf(msg, "%h_set", prop))
+                        end
                     end
                     hdl(j) = h;
                 end
diff --git a/scilab/modules/graphics/tests/nonreg_tests/bug_16406.tst b/scilab/modules/graphics/tests/nonreg_tests/bug_16406.tst
new file mode 100644 (file)
index 0000000..ac013bc
--- /dev/null
@@ -0,0 +1,32 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2020 - Samuel GOUGEON
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- TEST WITH GRAPHIC -->
+// <-- INTERACTIVE TEST -->
+
+// <-- Non-regression test for bug 16406 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/16406
+//
+// <-- Short Description -->
+// edit_curv() yielded an error when reading data
+
+edit_curv([1 2 3 4],[0 2 1 3],"xya")
+
+// Select the Data => Save action
+// Save the current polyline in test_16406.xy
+// Select the Data => Clear action
+// Select the Data => Read action, and select the test_16406.xy file in the current directory
+
+// CHECK :
+//  - The polyline must be displayed
+//  - no error message in the console
+
+// Close the edit_curv GUI
+
+mdelete("test_16406.xy");