]>
Commit | Line | Data |
---|---|---|
b4703e8a | 1 | --- gtk+-1.2.10/gtk/gtkwindow.c.focus Fri Mar 9 18:39:16 2001 |
2 | +++ gtk+-1.2.10/gtk/gtkwindow.c Thu Jul 5 10:34:00 2001 | |
3 | @@ -985,7 +985,13 @@ | |
4 | break; | |
5 | case EnterNotify: | |
6 | case LeaveNotify: | |
7 | - if (xev->xcrossing.detail != NotifyInferior && | |
8 | + /* We only track the actual destination of keyboard events for real | |
9 | + * toplevels, not for embedded toplevels such as GtkPlug. The reason for | |
10 | + * this is that GtkPlug redirects events so the widget may effectively not | |
11 | + * have the focus even if it actually has the focus. | |
12 | + */ | |
13 | + if (gdk_window_get_parent (GTK_WIDGET (window)->window) == GDK_ROOT_PARENT () && | |
14 | + xev->xcrossing.detail != NotifyInferior && | |
15 | xev->xcrossing.focus && !window->window_has_focus) | |
16 | { | |
17 | window->window_has_pointer_focus = (xev->xany.type == EnterNotify) ? TRUE : FALSE; |