Bug 11778: Bad color_map dims did not return an error 85/10285/5
Calixte DENIZET [Wed, 23 Jan 2013 19:56:48 +0000 (20:56 +0100)]
Change-Id: I03512b7fe433e8acf9dd95fd7b2beaa52cdb2b07

scilab/CHANGES_5.4.X
scilab/modules/graphics/src/c/getHandleProperty/set_color_map_property.c
scilab/modules/graphics/tests/nonreg_tests/bug_11778.dia.ref [new file with mode: 0644]
scilab/modules/graphics/tests/nonreg_tests/bug_11778.tst [new file with mode: 0644]

index 470e21a..f818787 100644 (file)
@@ -199,6 +199,8 @@ Bug fixes
 
 * Bug #11711 fixed - xclick and xgetmouse did not work under Mac OS X.
 
+* Bug #11778 fixed - Bad color_map dims did not return an error.
+
 * Bug #11801 fixed - Bug with isoview="on" on subplots.
 
 * Bug #11811 fixed - Fix a typo in the help page of Scinotes.
index b6fc97f..59ea68b 100644 (file)
@@ -41,6 +41,12 @@ int set_color_map_property(void* _pvCtx, char* pobjUID, size_t stackPointer, int
         return SET_PROPERTY_ERROR ;
     }
 
+    if (nbCol != 3)
+    {
+        Scierror(999, _("Wrong dimension for '%s' property: The number of columns must be 3.\n"), "color_map");
+        return SET_PROPERTY_ERROR ;
+    }
+
     status = setGraphicObjectProperty(pobjUID, __GO_COLORMAP__, stk(stackPointer), jni_double_vector, nbRow * nbCol);
 
     if (status == TRUE)
diff --git a/scilab/modules/graphics/tests/nonreg_tests/bug_11778.dia.ref b/scilab/modules/graphics/tests/nonreg_tests/bug_11778.dia.ref
new file mode 100644 (file)
index 0000000..4fcac4f
--- /dev/null
@@ -0,0 +1,16 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2012 - Scilab Enterprises - Sylvestre Ledru
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- TEST WITH GRAPHIC -->
+// <-- Non-regression test for bug 11778 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=11778
+//
+// <-- Short Description -->
+// gcf().color_map=1 should return an error since a matrix nx3 is expected (it was the case in 5.3.3)
+a=gcf();
+assert_checkerror("a=gca();a.color_map=1",[],999);
diff --git a/scilab/modules/graphics/tests/nonreg_tests/bug_11778.tst b/scilab/modules/graphics/tests/nonreg_tests/bug_11778.tst
new file mode 100644 (file)
index 0000000..bfa410d
--- /dev/null
@@ -0,0 +1,19 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2012 - Scilab Enterprises - Sylvestre Ledru
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- TEST WITH GRAPHIC -->
+
+// <-- Non-regression test for bug 11778 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=11778
+//
+// <-- Short Description -->
+// gcf().color_map=1 should return an error since a matrix nx3 is expected (it was the case in 5.3.3)
+
+a=gcf();
+assert_checkerror("a=gca();a.color_map=1",[],999);