summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTor Lillqvist <tml@novell.com>2008-11-03 22:35:05 +0000
committerTor Lillqvist <tml@src.gnome.org>2008-11-03 22:35:05 +0000
commit0140d8ec47c6da43f5b4ae970e7e25c13bced6e4 (patch)
treef93fc93686ad2923900648d75f061673c96cfe84
parent5eba4f208a3798fa9a90776d6f7da0e754318915 (diff)
downloadgdk-pixbuf-0140d8ec47c6da43f5b4ae970e7e25c13bced6e4.tar.gz
Bug 557212 - Problem with which window gains focus and is visible
2008-11-04 Tor Lillqvist <tml@novell.com> 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=/branches/gtk-2-14/; revision=21755
-rw-r--r--ChangeLog11
-rw-r--r--gdk/win32/gdkevents-win32.c13
2 files changed, 17 insertions, 7 deletions
diff --git a/ChangeLog b/ChangeLog
index a8ef44506..8ef3623b9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2008-11-04 Tor Lillqvist <tml@novell.com>
+
+ 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-01 Tor Lillqvist <tml@novell.com>
Bug 558278 - Crash when calling a callback set by
diff --git a/gdk/win32/gdkevents-win32.c b/gdk/win32/gdkevents-win32.c
index 686e0fe52..a509e677e 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;
@@ -3679,8 +3679,7 @@ gdk_event_translate (MSG *msg,
GDK_NOTE (EVENTS, g_print (" %s thread: %I64d",
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;