Fixed undefined behavior of fl_choice and others when closing

the message window instead of using a button (STR 2418).


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7705 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This commit is contained in:
Albrecht Schlosser 2010-09-27 11:29:05 +00:00
parent 280720df7c
commit 5c968a2589
1 changed files with 8 additions and 2 deletions

View File

@ -65,8 +65,13 @@ Fl_Fontsize fl_message_size_ = 14;
static char avoidRecursion = 0;
// sets the global return value (ret_val) and closes the window
static void button_cb(Fl_Widget *bt, void *val) {
// Sets the global return value (ret_val) and closes the window.
// Note: this is used for the button callbacks and the window
// callback (closing the window with the close button or menu).
// The first argument (Fl_Widget *) can either be an Fl_Button*
// pointer to one of the buttons or an Fl_Window* pointer to the
// message window (message_form).
static void button_cb(Fl_Widget *, void *val) {
ret_val = (int)(long)val;
message_form->hide();
}
@ -82,6 +87,7 @@ static Fl_Window *makeform() {
Fl_Group::current(0);
// create a new top level window
Fl_Window *w = message_form = new Fl_Window(410,103,"");
message_form->callback(button_cb,(void *)0);
// w->clear_border();
// w->box(FL_UP_BOX);
(message = new Fl_Box(60, 25, 340, 20))