From 74aeac9e66403edfc2974048aba518b78ffc1fa6 Mon Sep 17 00:00:00 2001 From: Tor Lillqvist Date: Mon, 3 Nov 2008 22:38:29 +0000 Subject: [PATCH] Bug 557212 - Problem with which window gains focus and is visible 2008-11-04 Tor Lillqvist Bug 557212 - Problem with which window gains focus and is visible * gdk/win32/gdkevents-win32.c (ensure_stacking_on_activate_app): Only do the restacking for the active window of the application. Seems to fix the problem. (gdk_event_translate): Only call ensure_stacking_on_activate_app() when the application is being activated, not deactivated. svn path=/trunk/; revision=21756 --- ChangeLog | 11 +++++++++++ gdk/win32/gdkevents-win32.c | 12 ++++++------ 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/ChangeLog b/ChangeLog index a19254014c..3afeace691 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,14 @@ +2008-11-04 Tor Lillqvist + + Bug 557212 - Problem with which window gains focus and is visible + + * gdk/win32/gdkevents-win32.c (ensure_stacking_on_activate_app): + Only do the restacking for the active window of the + application. Seems to fix the problem. + + (gdk_event_translate): Only call ensure_stacking_on_activate_app() + when the application is being activated, not deactivated. + 2008-11-03 Matthias Clasen * gtk/gtk.symbols: diff --git a/gdk/win32/gdkevents-win32.c b/gdk/win32/gdkevents-win32.c index 686e0fe527..07e68b4597 100644 --- a/gdk/win32/gdkevents-win32.c +++ b/gdk/win32/gdkevents-win32.c @@ -2214,12 +2214,12 @@ ensure_stacking_on_activate_app (MSG *msg, } if (IsWindowVisible (msg->hwnd) && - gdk_win32_handle_table_lookup (GetActiveWindow ())) + msg->hwnd == GetActiveWindow ()) { - /* This window is not a transient-type window and this or some - * other window in this app is the active window. Make sure this - * window is as visible as possible, just below the lowest - * transient-type window of this app. + /* This window is not a transient-type window and it is the + * activated window. Make sure this window is as visible as + * possible, just below the lowest transient-type window of this + * app. */ HWND rover; @@ -3680,7 +3680,7 @@ gdk_event_translate (MSG *msg, msg->wParam ? "YES" : "NO", (gint64) msg->lParam)); - if (GDK_WINDOW_IS_MAPPED (window)) + if (msg->wParam && GDK_WINDOW_IS_MAPPED (window)) ensure_stacking_on_activate_app (msg, window); break;