summaryrefslogtreecommitdiffstats
path: root/generic/tkBind.c
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2024-03-08 08:06:06 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2024-03-08 08:06:06 (GMT)
commitcbda117030f9eeabbdbcb5bdcb56295243864dad (patch)
treebf7277262af3113f7e3de736a7ecb9aeef3c65fc /generic/tkBind.c
parent390585bc36d575c11753e5b95e1ab4fe8ea04b3b (diff)
parentbce717b7ed795488aa0ee68b92f8031e7cd49cb1 (diff)
downloadtk-cbda117030f9eeabbdbcb5bdcb56295243864dad.zip
tk-cbda117030f9eeabbdbcb5bdcb56295243864dad.tar.gz
tk-cbda117030f9eeabbdbcb5bdcb56295243864dad.tar.bz2
Fix [47d4f29159]: Ignored binding scripts for events with detail field NotifyInferior. Patch from Erik Leunissen.
Diffstat (limited to 'generic/tkBind.c')
-rw-r--r--generic/tkBind.c19
1 files changed, 2 insertions, 17 deletions
diff --git a/generic/tkBind.c b/generic/tkBind.c
index 8f91ff3..ae9d5e1 100644
--- a/generic/tkBind.c
+++ b/generic/tkBind.c
@@ -2231,14 +2231,8 @@ Tk_BindEvent(
curEvent = bindPtr->eventInfo + eventPtr->type;
/*
- * Ignore the event completely if it is an Enter, Leave, FocusIn, or
- * FocusOut event with detail NotifyInferior. The reason for ignoring
- * these events is that we don't want transitions between a window and its
- * children to be visible to bindings on the parent: this would cause
- * problems for mega-widgets, since the internal structure of a
- * mega-widget isn't supposed to be visible to people watching the parent.
- *
- * Furthermore we have to compute current time, needed for "event generate".
+ * Compute current time needed for "event generate",
+ * and reset counters for Key and Button events.
*/
switch (eventPtr->type) {
@@ -2248,15 +2242,6 @@ Tk_BindEvent(
bindInfoPtr->lastCurrentTime = CurrentTimeInMilliSecs();
bindInfoPtr->lastEventTime = eventPtr->xcrossing.time;
}
- if (eventPtr->xcrossing.detail == NotifyInferior) {
- return;
- }
- break;
- case FocusIn:
- case FocusOut:
- if (eventPtr->xfocus.detail == NotifyInferior) {
- return;
- }
break;
case KeyPress:
case KeyRelease: {