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