mirror of
git://slackware.nl/current.git
synced 2024-12-27 09:59:16 +01:00
18 lines
844 B
Diff
18 lines
844 B
Diff
|
--- gtk+-1.2.10/gtk/gtkwindow.c.focus Fri Mar 9 18:39:16 2001
|
||
|
+++ gtk+-1.2.10/gtk/gtkwindow.c Thu Jul 5 10:34:00 2001
|
||
|
@@ -985,7 +985,13 @@
|
||
|
break;
|
||
|
case EnterNotify:
|
||
|
case LeaveNotify:
|
||
|
- if (xev->xcrossing.detail != NotifyInferior &&
|
||
|
+ /* We only track the actual destination of keyboard events for real
|
||
|
+ * toplevels, not for embedded toplevels such as GtkPlug. The reason for
|
||
|
+ * this is that GtkPlug redirects events so the widget may effectively not
|
||
|
+ * have the focus even if it actually has the focus.
|
||
|
+ */
|
||
|
+ if (gdk_window_get_parent (GTK_WIDGET (window)->window) == GDK_ROOT_PARENT () &&
|
||
|
+ xev->xcrossing.detail != NotifyInferior &&
|
||
|
xev->xcrossing.focus && !window->window_has_focus)
|
||
|
{
|
||
|
window->window_has_pointer_focus = (xev->xany.type == EnterNotify) ? TRUE : FALSE;
|