From 16046bf4ddb21381968b7333318e58b6438c89ac Mon Sep 17 00:00:00 2001
From: Michael R Sweet
Date: Mon, 8 Jul 2002 15:14:38 +0000
Subject: Add Fl::remove_handler() method.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2491 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
---
CHANGES | 1 +
FL/Fl.H | 5 +++--
documentation/Fl.html | 7 +++++++
src/Fl.cxx | 20 ++++++++++++++++++--
4 files changed, 29 insertions(+), 4 deletions(-)
diff --git a/CHANGES b/CHANGES
index 932256669..74955ba75 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,6 +1,7 @@
CHANGES IN FLTK 1.1.0
- Config header file changes for Borland C++.
+ - FLTK didn't provide a Fl::remove_handler() method.
CHANGES IN FLTK 1.1.0rc4
diff --git a/FL/Fl.H b/FL/Fl.H
index dfbf51eee..464c72471 100644
--- a/FL/Fl.H
+++ b/FL/Fl.H
@@ -1,5 +1,5 @@
//
-// "$Id: Fl.H,v 1.8.2.11.2.15 2002/04/13 22:17:45 easysw Exp $"
+// "$Id: Fl.H,v 1.8.2.11.2.16 2002/07/08 15:14:37 easysw Exp $"
//
// Main header file for the Fast Light Tool Kit (FLTK).
//
@@ -168,6 +168,7 @@ public:
static FL_EXPORT Fl_Widget* focus() {return focus_;}
static FL_EXPORT void focus(Fl_Widget*);
static FL_EXPORT void add_handler(int (*h)(int));
+ static FL_EXPORT void remove_handler(int (*h)(int));
// cut/paste:
static FL_EXPORT void copy(const char* stuff, int len, int clipboard = 0);
@@ -252,5 +253,5 @@ public:
#endif // !Fl_H
//
-// End of "$Id: Fl.H,v 1.8.2.11.2.15 2002/04/13 22:17:45 easysw Exp $".
+// End of "$Id: Fl.H,v 1.8.2.11.2.16 2002/07/08 15:14:37 easysw Exp $".
//
diff --git a/documentation/Fl.html b/documentation/Fl.html
index eb804cb1c..e240c5f06 100644
--- a/documentation/Fl.html
+++ b/documentation/Fl.html
@@ -106,6 +106,7 @@ state information and global methods for the current application.
release
remove_check
remove_fd
+ remove_handler
remove_idle
remove_timeout
repeat_timeout
@@ -927,6 +928,12 @@ callback that no longer exists.
+Removes a file descriptor handler.
+
+
+
+Removes a previously added event handler.
+
Removes the specified idle callback, if it is installed.
diff --git a/src/Fl.cxx b/src/Fl.cxx
index 16690b930..ccffdda02 100644
--- a/src/Fl.cxx
+++ b/src/Fl.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: Fl.cxx,v 1.24.2.41.2.39 2002/06/27 20:52:44 easysw Exp $"
+// "$Id: Fl.cxx,v 1.24.2.41.2.40 2002/07/08 15:14:38 easysw Exp $"
//
// Main event handling code for the Fast Light Tool Kit (FLTK).
//
@@ -391,6 +391,22 @@ void Fl::add_handler(int (*h)(int)) {
handlers = l;
}
+void Fl::remove_handler(int (*h)(int)) {
+ handler_link *l, *p;
+
+ // Search for the handler in the list...
+ for (l = handlers, p = 0; l && l->handle != h; p = l; l = l->next);
+
+ if (l) {
+ // Found it, so remove it from the list...
+ if (p) p->next = l->next;
+ else handlers = l->next;
+
+ // And free the record...
+ delete l;
+ }
+}
+
int (*fl_local_grab)(int); // used by fl_dnd.cxx
static int send_handlers(int event) {
@@ -933,5 +949,5 @@ void Fl_Window::flush() {
}
//
-// End of "$Id: Fl.cxx,v 1.24.2.41.2.39 2002/06/27 20:52:44 easysw Exp $".
+// End of "$Id: Fl.cxx,v 1.24.2.41.2.40 2002/07/08 15:14:38 easysw Exp $".
//
--
cgit v1.2.3