From baed853fe369f6ef46e7c583d0347e8b42160d65 Mon Sep 17 00:00:00 2001 From: Matthias Melcher Date: Wed, 20 Dec 2006 20:29:08 +0000 Subject: STR #1542: implemented the prototyped Fl::has_check() function git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@5563 ea41ed52-d2ee-0310-a9c1-e6b18d33e121 --- CHANGES | 2 ++ src/Fl.cxx | 16 ++++++++++++++++ 2 files changed, 18 insertions(+) diff --git a/CHANGES b/CHANGES index 4fd6d89d7..6e12f75ef 100644 --- a/CHANGES +++ b/CHANGES @@ -1,5 +1,7 @@ CHANGES IN FLTK 1.1.8 + - added "Fl::has_check()" which previously was prototyped + and documented, but not implemented (STR #1542) - enabled "add_check()" on OS X (STR #1534) - Documented tooltip inheritance (STR #1467) - Better event mouse handling fixing detached menus and diff --git a/src/Fl.cxx b/src/Fl.cxx index d17f64823..28f80225d 100644 --- a/src/Fl.cxx +++ b/src/Fl.cxx @@ -260,6 +260,22 @@ void Fl::remove_check(Fl_Timeout_Handler cb, void *argp) { } } +/** + * Return 1, if a check with the same handler and data pointer + * is pending, 0 otherwise. + */ +int Fl::has_check(Fl_Timeout_Handler cb, void *argp) { + for (Check** p = &first_check; *p;) { + Check* t = *p; + if (t->cb == cb && t->arg == argp) { + return 1; + } else { + p = &(t->next); + } + } + return 0; +} + static void run_checks() { // checks are a bit messy so that add/remove and wait may be called -- cgit v1.2.3