summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/fl_ask.cxx10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/fl_ask.cxx b/src/fl_ask.cxx
index 791f7a173..b8b45efb2 100644
--- a/src/fl_ask.cxx
+++ b/src/fl_ask.cxx
@@ -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))