diff options
author | Cody Russell <bratsche@gnome.org> | 2008-03-23 15:37:40 +0000 |
---|---|---|
committer | Cody Russell <bratsche@src.gnome.org> | 2008-03-23 15:37:40 +0000 |
commit | ca2987a0f9afd0ea261d621e340ceacd232089c6 (patch) | |
tree | 90ae522ccc0ef95d7d2c08f88364229bc6a71451 /gdk/win32 | |
parent | f571e582a8ba74d26fa005c4dcffeb5b46f120e0 (diff) | |
download | gtk+-ca2987a0f9afd0ea261d621e340ceacd232089c6.tar.gz |
Check window state for GDK_WINDOW_STATE_ICONIFIED before doing ShowWindow
2008-03-23 Cody Russell <bratsche@gnome.org>
* gdk/win32/gdkevents-win32.c (show_window_recurse):
Check window state for GDK_WINDOW_STATE_ICONIFIED before doing
ShowWindow (SW_RESTORE). This fixes a problem where tearing off
menus from a maximized window would force the window to restore
its size. (#518846)
svn path=/trunk/; revision=19926
Diffstat (limited to 'gdk/win32')
-rw-r--r-- | gdk/win32/gdkevents-win32.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/gdk/win32/gdkevents-win32.c b/gdk/win32/gdkevents-win32.c index 7841171620..3f4fdd5547 100644 --- a/gdk/win32/gdkevents-win32.c +++ b/gdk/win32/gdkevents-win32.c @@ -1297,9 +1297,16 @@ show_window_recurse (GdkWindow *window, gboolean hide_window) if (GDK_WINDOW_IS_MAPPED (window)) { if (!hide_window) - ShowWindow (GDK_WINDOW_HWND (window), SW_RESTORE); + { + if (GDK_WINDOW_OBJECT (window)->state & GDK_WINDOW_STATE_ICONIFIED) + { + ShowWindow (GDK_WINDOW_HWND (window), SW_RESTORE); + } + } else - ShowWindow (GDK_WINDOW_HWND (window), SW_MINIMIZE); + { + ShowWindow (GDK_WINDOW_HWND (window), SW_MINIMIZE); + } } impl->changing_state = FALSE; |