fix bug 7077 - uigetfont makes scilab hangs when clicking on cancel 56/556/3
Yann Collette [Tue, 11 May 2010 09:13:23 +0000 (11:13 +0200)]
Change-Id: I8f6988f5b3cbf6488ce86e2674a4850d7692e02b

scilab/CHANGES_5.3.X
scilab/modules/gui/sci_gateway/c/sci_uigetfont.c
scilab/modules/gui/tests/nonreg_tests/bug_7077.tst [new file with mode: 0644]

index 981b1fe..7f94d0b 100644 (file)
@@ -474,3 +474,4 @@ Bug fixes:
 * bug 7057 fixed - isdigit and isalphanum crashed with a matrix of string
                    as input argument.
 
+* bug 7077 fixed - uigetfont crashed Scilab when the cancel button was clicked.
index 4e62557..b92a170 100644 (file)
@@ -227,7 +227,7 @@ int sci_uigetfont(char *fname,unsigned long fname_len)
   LhsVar(4) = Rhs+4;
   
   C2F(putlhsvar)();
-  freeArrayOfString(fontNameAdr, fontNameSize);
+  if (fontNameSize) freeArrayOfString(fontNameAdr, fontNameSize);
   return TRUE;
 }
 /*--------------------------------------------------------------------------*/
diff --git a/scilab/modules/gui/tests/nonreg_tests/bug_7077.tst b/scilab/modules/gui/tests/nonreg_tests/bug_7077.tst
new file mode 100644 (file)
index 0000000..22cbcb6
--- /dev/null
@@ -0,0 +1,23 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2010 - DIGITEO - Yann COLLETTE
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- Non-regression test for bug 7077 -->
+// <-- INTERACTIVE TEST -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=7077
+//
+// <-- Short Description -->
+// uigetfont makes scilab hangs when you clicked directly on cancel
+
+// To save some paper, this test is interactive
+
+fontname = uigetfont();
+
+// Now click on the cancel button.
+// Scilab should not hangs.
+