* Bug #14784 fixed - Setting field of graphics handle using children($) failed. 60/18560/2
Adeline CARNIS [Tue, 27 Sep 2016 13:41:39 +0000 (15:41 +0200)]
Change-Id: I1fe67b94353c5f25ddd520fd5cf49f52aa835df4

scilab/CHANGES.md
scilab/modules/graphics/macros/%h_e.sci
scilab/modules/graphics/tests/nonreg_tests/bug_14784.dia.ref [new file with mode: 0644]
scilab/modules/graphics/tests/nonreg_tests/bug_14784.tst [new file with mode: 0644]

index c75b4f2..47ecd86 100644 (file)
@@ -359,6 +359,7 @@ Bug Fixes
 * [#14694](http://bugzilla.scilab.org/show_bug.cgi?id=14694): The list of named colors was misaligned and poorly rendered in `help color_list`
 * [#14710](http://bugzilla.scilab.org/show_bug.cgi?id=14710): fullpath(TMPDIR+...) was bugged on MacOS
 * [#14714](http://bugzilla.scilab.org/show_bug.cgi?id=14714): Crash/Leak when deleting datatip
+* [#14784](http://bugzilla.scilab.org/show_bug.cgi?id=14784): Setting field of graphics handle using children($) failed.
 
 ### Bugs fixed in 6.0.0 beta-2 and earlier 6.0.0 pre-releases:
 
index 13344bd..ec6c22c 100644 (file)
@@ -34,7 +34,7 @@ function r=%h_e(i,h)
             end
         end
         r=h
-    elseif type(i)==1 then
+    elseif or(type(i)==[1,2]) then
         r=h(i)
     else
         error("Invalid path")
diff --git a/scilab/modules/graphics/tests/nonreg_tests/bug_14784.dia.ref b/scilab/modules/graphics/tests/nonreg_tests/bug_14784.dia.ref
new file mode 100644 (file)
index 0000000..f57f8eb
--- /dev/null
@@ -0,0 +1,23 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2016 - Scilab Enterprises - Adeline CARNIS
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- TEST WITH GRAPHIC -->
+// <-- Non-regression test for bug 14784 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/14784
+//
+// <-- Short Description -->
+// Setting field of graphics handle using children($) failed.
+f=figure();
+f.children(1).user_data=1;
+assert_checkequal(f.children(1).userdata, 1);
+assert_checkequal(f.children(1).userdata, f.children($).userdata);
+f.children($).user_data=2;
+assert_checkequal(f.children($).userdata, 2);
+f.children($).axes_visible="on";
+assert_checkequal(f.children($).axes_visible, ["on", "on", "on"]);
+close(f);
diff --git a/scilab/modules/graphics/tests/nonreg_tests/bug_14784.tst b/scilab/modules/graphics/tests/nonreg_tests/bug_14784.tst
new file mode 100644 (file)
index 0000000..78a5328
--- /dev/null
@@ -0,0 +1,26 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2016 - Scilab Enterprises - Adeline CARNIS
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- TEST WITH GRAPHIC -->
+
+// <-- Non-regression test for bug 14784 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/14784
+//
+// <-- Short Description -->
+// Setting field of graphics handle using children($) failed.
+
+f=figure();
+f.children(1).user_data=1;
+assert_checkequal(f.children(1).userdata, 1);
+assert_checkequal(f.children(1).userdata, f.children($).userdata);
+f.children($).user_data=2;
+assert_checkequal(f.children($).userdata, 2);
+f.children($).axes_visible="on";
+assert_checkequal(f.children($).axes_visible, ["on", "on", "on"]);
+close(f);