From 7b7ca88b4961e589f3193b246ad85cd7a869cd75 Mon Sep 17 00:00:00 2001 From: Bill Spitzak <spitzak@gmail.com> Date: Fri, 13 Apr 2001 17:22:43 +0000 Subject: [PATCH] Fl_has_idle only tested N-1 callbacks and missed one git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1427 ea41ed52-d2ee-0310-a9c1-e6b18d33e121 --- src/Fl_add_idle.cxx | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/Fl_add_idle.cxx b/src/Fl_add_idle.cxx index 88e233bb6..bb478b933 100644 --- a/src/Fl_add_idle.cxx +++ b/src/Fl_add_idle.cxx @@ -1,5 +1,5 @@ // -// "$Id: Fl_add_idle.cxx,v 1.4.2.6 2001/01/22 15:13:40 easysw Exp $" +// "$Id: Fl_add_idle.cxx,v 1.4.2.7 2001/04/13 17:22:43 spitzak Exp $" // // Idle routine support for the Fast Light Tool Kit (FLTK). // @@ -65,9 +65,12 @@ void Fl::add_idle(void (*cb)(void*), void* data) { } int Fl::has_idle(void (*cb)(void*), void* data) { - for (idle_cb* p = first; p != last; p = p->next) + idle_cb* p = first; + if (!p) return 0; + for (;; p = p->next) { if (p->cb == cb && p->data == data) return 1; - return 0; + if (p==last) return 0; + } } void Fl::remove_idle(void (*cb)(void*), void* data) { @@ -91,5 +94,5 @@ void Fl::remove_idle(void (*cb)(void*), void* data) { } // -// End of "$Id: Fl_add_idle.cxx,v 1.4.2.6 2001/01/22 15:13:40 easysw Exp $". +// End of "$Id: Fl_add_idle.cxx,v 1.4.2.7 2001/04/13 17:22:43 spitzak Exp $". // -- GitLab