* Bug 15814 fixed: gca().children(booleans) failed 58/20558/3
Samuel GOUGEON [Wed, 17 Oct 2018 12:37:59 +0000 (14:37 +0200)]
  http://bugzilla.scilab.org/15814

Change-Id: Ia58f671066dc1e1302f9eb7f2b574c0fac5669fd

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

index c9fc505..3a68e30 100644 (file)
@@ -581,6 +581,7 @@ Known issues
 * [#15758](http://bugzilla.scilab.org/show_bug.cgi?id=15758): sparse([0 0],1) crashes scilab (regression)
 * [#15762](http://bugzilla.scilab.org/show_bug.cgi?id=15762): `error()` refused multiline error messages.
 * [#15582](http://bugzilla.scilab.org/show_bug.cgi?id=15582): The default `mfile2sci`'s `only-double` option set to %T was misleading and too restrictive.
+* [#15814](http://bugzilla.scilab.org/show_bug.cgi?id=15814): Selecting graphic children with booleans yielded an error.
 
 
 ### Bugs fixed in 6.0.1:
index 095e148..227c81a 100644 (file)
@@ -12,6 +12,9 @@
 
 function r=%h_e(i,h)
     h=h
+    if type(i)==4
+        i = find(i);
+    end
     if type(i)==10 then
         r=get(h,i)
     elseif type(i)==15 then
diff --git a/scilab/modules/graphics/tests/nonreg_tests/bug_15814.tst b/scilab/modules/graphics/tests/nonreg_tests/bug_15814.tst
new file mode 100644 (file)
index 0000000..b71c0ce
--- /dev/null
@@ -0,0 +1,24 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2018 - Samuel GOUGEON
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- TEST WITH GRAPHIC -->
+// <-- NO CHECK REF -->
+
+// <-- Non-regression test for bug 15814 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/15814
+//
+// <-- Short Description -->
+// Selecting graphic children with booleans failed
+
+clf
+t = 0:0.01:2*%pi;
+polarplot(t, -1 + sin(t));
+elements = gca().children;
+angFrame = elements.type=="Arc";
+elements(angFrame).foreground = 2;