diff options
| author | Manolo Gouy <Manolo> | 2018-02-06 17:26:11 +0000 |
|---|---|---|
| committer | Manolo Gouy <Manolo> | 2018-02-06 17:26:11 +0000 |
| commit | 425ab2e8bc4905959ecc5d38e042ee0e1c3e1771 (patch) | |
| tree | 7e20118535dae2870bc2fb7c4a3b83d12d054af9 /FL/Fl_System_Driver.H | |
| parent | 4ebaee0f40e30c4da671a9351676e1c9051abbef (diff) | |
Add support for detection and processing of clean program termination request.
The default handling of cmd-Q/Quit program under MacOS was to terminate the
program if all its windows are closed without returning from FLTK's event loop.
This was running against a strong design feature of FLTK that programs
should always complete their event loop and return from main() when cleanly
terminating.
In the new code for the MacOS platform, cmd-Q/Quit program no longer terminates
the program. Instead, the event loop is interrupted and a call to Fl::program_should_quit()
allows to detect that program termination has been requested, if necessary.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12647 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'FL/Fl_System_Driver.H')
| -rw-r--r-- | FL/Fl_System_Driver.H | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/FL/Fl_System_Driver.H b/FL/Fl_System_Driver.H index 5bcd8e994..a543906fd 100644 --- a/FL/Fl_System_Driver.H +++ b/FL/Fl_System_Driver.H @@ -4,7 +4,7 @@ // A base class for platform specific system calls // for the Fast Light Tool Kit (FLTK). // -// Copyright 2010-2017 by Bill Spitzak and others. +// Copyright 2010-2018 by Bill Spitzak and others. // // This library is free software. Distribution and use rights are outlined in // the file "COPYING" which should have been included with this file. If this @@ -225,6 +225,9 @@ public: virtual const char *meta_name() { return "Meta"; } virtual const char *alt_name() { return "Alt"; } virtual const char *control_name() { return "Ctrl"; } + // The default implementation of the next 2 functions may be enough. + virtual int run_also_windowless(); + virtual int wait_also_windowless(double delay); }; #endif // FL_SYSTEM_DRIVER_H |
