Bug 9457 fixed - set('figure_style', 'new') returned a error message. 06/4006/2
Allan CORNET [Wed, 11 May 2011 10:39:43 +0000 (12:39 +0200)]
Change-Id: Ia0163468668942276ec542fe2310724fca3e51f3

scilab/CHANGES_5.3.X
scilab/modules/graphics/sci_gateway/c/sci_set.c
scilab/modules/graphics/tests/nonreg_tests/bug_9457.dia.ref [new file with mode: 0644]
scilab/modules/graphics/tests/nonreg_tests/bug_9457.tst [new file with mode: 0644]

index 7827ecd..10997cc 100644 (file)
@@ -361,6 +361,8 @@ Bug Fixes:
 
 * Bug 9442 fixed - Sometimes, an exception could be thrown in the console.
 
+* Bug 9457 fixed - set("figure_style", "new") returned a error message.
+
 
             Changes between versions 5.3.0 and 5.3.1 of Scilab
             =================================================
index 5a9f06c..c07544f 100644 (file)
@@ -261,7 +261,7 @@ int sci_set(char *fname, unsigned long fname_len)
         }
         else
         {
-#define NB_PROPERTIES_SUPPORTED 5
+#define NB_PROPERTIES_SUPPORTED 6
             /* No object specified */
             /* ONLY supported properties are */
             /* 'current_entity' */
@@ -269,17 +269,20 @@ int sci_set(char *fname, unsigned long fname_len)
             /* 'current_figure' */
             /* 'current_axes' */
             /* 'default_values' */
+            /* 'figure_style' for compatibility but do nothing */
             /* others values must return a error */
             char *propertyField = cstk(l2);
             char *propertiesSupported[NB_PROPERTIES_SUPPORTED] = {"current_entity",
                 "hdl",
                 "current_figure",
                 "current_axes",
+                "figure_style",
                 "default_values"};
             int i = 0;
             int iPropertyFounded = 0;
             for (i = 0; i < NB_PROPERTIES_SUPPORTED; i++)
             {
+
                 if (strcmp(propertiesSupported[i], propertyField) == 0)
                 {
                     iPropertyFounded = 1;
@@ -288,7 +291,12 @@ int sci_set(char *fname, unsigned long fname_len)
 
             if (iPropertyFounded)
             {
-                sciSet( NULL, cstk(l2), &l3, valueType, &numrow3, &numcol3);
+                // we do nothing with "figure_style" "new" (to remove in 5.4)
+                int bDoSet = ((isMatrixOfString) && (strcmp(propertyField, "figure_style") == 0) && (strcmp(cstk(l3), "new") == 0)) != 1;
+                if (bDoSet)
+                {
+                    sciSet( NULL, cstk(l2), &l3, valueType, &numrow3, &numcol3);
+                }
             }
             else
             {
diff --git a/scilab/modules/graphics/tests/nonreg_tests/bug_9457.dia.ref b/scilab/modules/graphics/tests/nonreg_tests/bug_9457.dia.ref
new file mode 100644 (file)
index 0000000..aff9453
--- /dev/null
@@ -0,0 +1,19 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011 - DIGITEO - Allan CORNET
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- TEST WITH GRAPHIC -->
+// <-- Non-regression test for bug 9457 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=9457
+//
+// <-- Short Description -->
+// set("figure_style", "new") returned a error message
+ierr = execstr("set(""figure_style"", ""new"")", "errcatch");
+if ierr <> 0 then bugmes();quit;end
+ierr = execstr("set(""figure_style"", ""old"")", "errcatch");
+if ierr <> 999 then bugmes();quit;end
+if lasterror() <> msprintf("%s", gettext("Old graphic mode is no longer available. Please refer to the set help page.\n")) then bugmes();quit;end
diff --git a/scilab/modules/graphics/tests/nonreg_tests/bug_9457.tst b/scilab/modules/graphics/tests/nonreg_tests/bug_9457.tst
new file mode 100644 (file)
index 0000000..3c59aa2
--- /dev/null
@@ -0,0 +1,24 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011 - DIGITEO - Allan CORNET
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- TEST WITH GRAPHIC -->
+
+// <-- Non-regression test for bug 9457 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=9457
+//
+// <-- Short Description -->
+// set("figure_style", "new") returned a error message
+
+ierr = execstr("set(""figure_style"", ""new"")", "errcatch");
+if ierr <> 0 then pause, end
+
+ierr = execstr("set(""figure_style"", ""old"")", "errcatch");
+if ierr <> 999 then pause, end
+if lasterror() <> msprintf("%s", gettext("Old graphic mode is no longer available. Please refer to the set help page.\n")) then pause, end
+