diff options
| author | Matthias Melcher <fltk@matthiasm.com> | 2006-09-05 09:57:41 +0000 |
|---|---|---|
| committer | Matthias Melcher <fltk@matthiasm.com> | 2006-09-05 09:57:41 +0000 |
| commit | bfe61f036afb18941c2c3caf0b6f870c9bc62647 (patch) | |
| tree | ebf168f228b20dcd4c24704be273678a02b6f9fc | |
| parent | cdc165bd6809473bb2068c8902d034de3fb5bed6 (diff) | |
STR #1410: fl_file_chooser could crash after a previously canceled dialog
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@5417 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
| -rw-r--r-- | CHANGES | 1 | ||||
| -rw-r--r-- | src/fl_file_dir.cxx | 6 | ||||
| -rw-r--r-- | test/hello.cxx | 48 |
3 files changed, 11 insertions, 44 deletions
@@ -1,5 +1,6 @@ CHANGES IN FLTK 1.1.8 + - Fixed crash in fl_file_chooser (STR #1410) - Fixed Fluid hotspot bug (STR #1416) - Fixed image copy code (STR #1412) - Fixed latin-to-roman text conversion (STR #1411) diff --git a/src/fl_file_dir.cxx b/src/fl_file_dir.cxx index 830df39bf..a39b9fd30 100644 --- a/src/fl_file_dir.cxx +++ b/src/fl_file_dir.cxx @@ -106,7 +106,11 @@ fl_file_chooser(const char *message, // I - Message in titlebar // re-use the previously selected name } } else if (!*fname) { // empty filename reuses directory with empty name - strlcpy(retname, fc->value(), sizeof(retname)); + const char *fcv = fc->value(); + if (fcv) + strlcpy(retname, fc->value(), sizeof(retname)); + else + *retname = 0; const char *n = fl_filename_name(retname); if (n) *((char*)n) = 0; fc->value(""); diff --git a/test/hello.cxx b/test/hello.cxx index 178d52934..17fc88b0f 100644 --- a/test/hello.cxx +++ b/test/hello.cxx @@ -1,45 +1,7 @@ -// -// "$Id$" -// -// Hello, World! program for the Fast Light Tool Kit (FLTK). -// -// Copyright 1998-2005 by Bill Spitzak and others. -// -// This library is free software; you can redistribute it and/or -// modify it under the terms of the GNU Library General Public -// License as published by the Free Software Foundation; either -// version 2 of the License, or (at your option) any later version. -// -// This library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// Library General Public License for more details. -// -// You should have received a copy of the GNU Library General Public -// License along with this library; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 -// USA. -// -// Please report all bugs and problems on the following page: -// -// http://www.fltk.org/str.php -// - -#include <FL/Fl.H> -#include <FL/Fl_Window.H> -#include <FL/Fl_Box.H> - -int main(int argc, char **argv) { - Fl_Window *window = new Fl_Window(300,180); - Fl_Box *box = new Fl_Box(FL_UP_BOX,20,40,260,100,"Hello, World!"); - box->labelfont(FL_BOLD+FL_ITALIC); - box->labelsize(36); - box->labeltype(FL_SHADOW_LABEL); - window->end(); - window->show(argc, argv); - return Fl::run(); +#include <FL/Fl_File_Chooser.H> +int main() { + fl_file_chooser("Press Cancel", "*", ""); + fl_file_chooser("Press Cancel", "*", ""); + return 0; } -// -// End of "$Id$". -// |
