summaryrefslogtreecommitdiffstats
path: root/generic
diff options
context:
space:
mode:
authorrjohnson <rjohnson>1998-10-14 21:12:09 (GMT)
committerrjohnson <rjohnson>1998-10-14 21:12:09 (GMT)
commitaf8a60c77323b0eeb26488d384430e2a95a17623 (patch)
treea0b3e9cad0d6e7ea49f0c24dfd8b5587d0e57887 /generic
parenta9c63f1a5538497bd1f1bac4aa1ba50129427aea (diff)
downloadtcl-af8a60c77323b0eeb26488d384430e2a95a17623.zip
tcl-af8a60c77323b0eeb26488d384430e2a95a17623.tar.gz
tcl-af8a60c77323b0eeb26488d384430e2a95a17623.tar.bz2
Added fix to list processing in tclNotify that could cause events to be dropped.
Added test to intetp test suite.
Diffstat (limited to 'generic')
-rw-r--r--generic/tclNotify.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/generic/tclNotify.c b/generic/tclNotify.c
index 23e52f7..13c5a13 100644
--- a/generic/tclNotify.c
+++ b/generic/tclNotify.c
@@ -8,11 +8,12 @@
* tcl*Notify.c files in each platform directory.
*
* Copyright (c) 1995-1997 Sun Microsystems, Inc.
+ * Copyright (c) 1998 by Scriptics Corporation.
*
* See the file "license.terms" for information on usage and redistribution
* of this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tclNotify.c,v 1.2 1998/09/14 18:40:01 stanton Exp $
+ * RCS: @(#) $Id: tclNotify.c,v 1.3 1998/10/14 21:12:09 rjohnson Exp $
*/
#include "tclInt.h"
@@ -341,9 +342,12 @@ Tcl_DeleteEvents(proc, clientData)
if ((*proc) (evPtr, clientData) == 1) {
if (notifier.firstEventPtr == evPtr) {
notifier.firstEventPtr = evPtr->nextPtr;
- if (evPtr->nextPtr == (Tcl_Event *) NULL) {
- notifier.lastEventPtr = (Tcl_Event *) NULL;
+ if (evPtr->nextPtr == NULL) {
+ notifier.lastEventPtr = prevPtr;
}
+ if (notifier.markerEventPtr == evPtr) {
+ notifier.markerEventPtr = prevPtr;
+ }
} else {
prevPtr->nextPtr = evPtr->nextPtr;
}