summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorfvogel <fvogelnew1@free.fr>2017-01-07 15:49:04 (GMT)
committerfvogel <fvogelnew1@free.fr>2017-01-07 15:49:04 (GMT)
commit8313aaf2d2c39dd94d04766a10a0207c682790e2 (patch)
treeff457ef343e24120d048bf07c9633ee3a0412e1e
parent2aa8148b1c0d4bfd43195800910c9c6eec0ec8a2 (diff)
downloadtk-8313aaf2d2c39dd94d04766a10a0207c682790e2.zip
tk-8313aaf2d2c39dd94d04766a10a0207c682790e2.tar.gz
tk-8313aaf2d2c39dd94d04766a10a0207c682790e2.tar.bz2
Patch from chw for [7a838c38a1]: X11 bind event ring buffer and GraphicsExpose/NoExpose
-rw-r--r--generic/tkBind.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/generic/tkBind.c b/generic/tkBind.c
index d3fdc96..525e13e 100644
--- a/generic/tkBind.c
+++ b/generic/tkBind.c
@@ -1260,6 +1260,16 @@ Tk_BindEvent(
}
}
+ /*
+ * Ignore event types which are not in flagArray. Most notably,
+ * NoExpose events can fill the ring buffer and disturb (thus
+ * masking out) event sequences of interest.
+ */
+
+ if ((eventPtr->type >= TK_LASTEVENT) || !flagArray[eventPtr->type]) {
+ return;
+ }
+
dispPtr = ((TkWindow *) tkwin)->dispPtr;
bindInfoPtr = winPtr->mainPtr->bindInfo;