Mercurial > octave
diff src/DLD-FUNCTIONS/fltk_backend.cc @ 9991:1300d9ced492
F__init_fltk__: add __remove_fltk__ to atexit function list
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Wed, 16 Dec 2009 01:25:40 -0500 |
parents | 118158f10628 |
children | b6261d776a82 |
line wrap: on
line diff
--- a/src/DLD-FUNCTIONS/fltk_backend.cc Tue Dec 15 16:02:48 2009 -0500 +++ b/src/DLD-FUNCTIONS/fltk_backend.cc Wed Dec 16 01:25:40 2009 -0500 @@ -63,6 +63,7 @@ #include "gl2ps-renderer.h" #include "graphics.h" #include "parse.h" +#include "toplev.h" #include "variables.h" #define FLTK_BACKEND_NAME "fltk" @@ -1005,6 +1006,8 @@ DEFUN_DLD (__init_fltk__, , , "") { + static bool remove_fltk_registered = false; + if (! backend_registered) { mlock (); @@ -1015,6 +1018,13 @@ octave_value_list args; args(0) = "__fltk_redraw__"; feval ("add_input_event_hook", args, 0); + + if (! remove_fltk_registered) + { + octave_add_atexit_function ("__remove_fltk__"); + + remove_fltk_registered = true; + } } octave_value retval; @@ -1039,8 +1049,7 @@ feval ("remove_input_event_hook", args, 0); // FIXME ??? - // give FLTK 10 seconds to wrap it up - Fl::wait(10); + Fl::wait (fltk_maxtime); } octave_value retval;