diff options
author | Tor Lillqvist <tml@iki.fi> | 2003-01-19 21:18:15 +0000 |
---|---|---|
committer | Tor Lillqvist <tml@src.gnome.org> | 2003-01-19 21:18:15 +0000 |
commit | d867b9a8df0990a0dbee8d7ba0028eb535965b03 (patch) | |
tree | 247543ea3d60102c39c54270017185e1bf997e44 /gdk/win32/gdkevents-win32.c | |
parent | baa46a10b41c3540b26beeec098bf7940f17a5f7 (diff) | |
download | gdk-pixbuf-d867b9a8df0990a0dbee8d7ba0028eb535965b03.tar.gz |
Merge from stable:
2003-01-19 Tor Lillqvist <tml@iki.fi>
Merge from stable:
Fix for #103614 and some other problems with GtkFileSelection on
Windows:
* gtk/fnmatch.c (get_char): Need to use g_unichar_tolower(), not
g_ascii_tolower(). Windows file names are case-insensitive for all
Unicode letters.
* gtk/gtkfilesel.c: Instead of checking for G_OS_WIN32 or
G_WITH_CYGWIN, check G_PLATFORM_WIN32. Move inclusion of gtkintl.h
earlier, as it includes config.h unconditionally, and gtkprivate.h
redefines GTK_LOCALEDIR.
(struct _CompletionDirSent): Ifdef out the fields not used on
Windows.
(compare_utf8_filenames, compare_sys_filenames): Need different
comparison implementation for UTF-8 file names and system locale
file names on Win32. Cannot simply use g_ascii_strcasecmp(), but
need to casefold all Unicode letters.
(cmpl_completion_matches, open_dir, correct_parent): Ifdef out
variables not used on Win32 to avoid warnings about unused
variables.
(open_ref_dir): Use g_path_skip_root() to skip past potential
drive letter in front of the leading (back)slash.
(open_new_dir): Ifdef out use of CompletionDirSent fields not
there on Win32.
(correct_parent): Bypass inode check also on Cygwin.
Fix bug noticed by Alex Shaduri: Tooltips and other
GDK_WINDOW_TEMP windows were activated. This looked very odd, and
was a regression from earlier versions.
* gdk/win32/gdkwindow-win32.c (show_window_internal): Fine-tune
behaviour. Don't ever activate GDK_WINDOW_TEMP windows.
(gdk_window_move, gdk_window_resize): Add debug logging.
* gdk/win32/gdkevents-win32.c (gdk_event_translate): When we get a
WM_SIZE message for a non-visible (withdrawn) window, don't clear
the GDK_WINDOW_STATE_WITHDRAWN bit. The window is still withdrawn
even if its size changes.
Diffstat (limited to 'gdk/win32/gdkevents-win32.c')
-rw-r--r-- | gdk/win32/gdkevents-win32.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/gdk/win32/gdkevents-win32.c b/gdk/win32/gdkevents-win32.c index e2bf50706..8b4879b3e 100644 --- a/gdk/win32/gdkevents-win32.c +++ b/gdk/win32/gdkevents-win32.c @@ -2998,6 +2998,9 @@ gdk_event_translate (GdkDisplay *display, #endif ) { + GdkWindowState withdrawn_bit = + IsWindowVisible (msg->hwnd) ? GDK_WINDOW_STATE_WITHDRAWN : 0; + if (!(private->event_mask & GDK_STRUCTURE_MASK)) break; @@ -3019,12 +3022,12 @@ gdk_event_translate (GdkDisplay *display, gdk_synthesize_window_state (window, GDK_WINDOW_STATE_ICONIFIED | GDK_WINDOW_STATE_MAXIMIZED | - GDK_WINDOW_STATE_WITHDRAWN, + withdrawn_bit, 0); else if (msg->wParam == SIZE_MAXIMIZED) gdk_synthesize_window_state (window, GDK_WINDOW_STATE_ICONIFIED | - GDK_WINDOW_STATE_WITHDRAWN, + withdrawn_bit, GDK_WINDOW_STATE_MAXIMIZED); if (private->resize_count > 1) |