summaryrefslogtreecommitdiff
path: root/gdk/win32
diff options
context:
space:
mode:
authorCody Russell <bratsche@gnome.org>2008-03-23 15:37:40 +0000
committerCody Russell <bratsche@src.gnome.org>2008-03-23 15:37:40 +0000
commitca2987a0f9afd0ea261d621e340ceacd232089c6 (patch)
tree90ae522ccc0ef95d7d2c08f88364229bc6a71451 /gdk/win32
parentf571e582a8ba74d26fa005c4dcffeb5b46f120e0 (diff)
downloadgtk+-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.c11
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;