From 425ab2e8bc4905959ecc5d38e042ee0e1c3e1771 Mon Sep 17 00:00:00 2001 From: Manolo Gouy Date: Tue, 6 Feb 2018 17:26:11 +0000 Subject: 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 --- src/Fl_System_Driver.cxx | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'src/Fl_System_Driver.cxx') diff --git a/src/Fl_System_Driver.cxx b/src/Fl_System_Driver.cxx index c396c9e2f..62c5a765b 100644 --- a/src/Fl_System_Driver.cxx +++ b/src/Fl_System_Driver.cxx @@ -445,6 +445,15 @@ void Fl_System_Driver::gettime(time_t *sec, int *usec) { *usec = 0; } +int Fl_System_Driver::run_also_windowless() { + return Fl::run(); +} + +int Fl_System_Driver::wait_also_windowless(double delay) { + Fl::wait(delay); + return Fl::first_window() != NULL; +} + // // End of "$Id$". // -- cgit v1.2.3