gtk+ r20726 - in trunk: . gdk/win32
- From: bratsche svn gnome org
- To: svn-commits-list gnome org
- Subject: gtk+ r20726 - in trunk: . gdk/win32
- Date: Tue, 1 Jul 2008 23:13:26 +0000 (UTC)
Author: bratsche
Date: Tue Jul 1 23:13:26 2008
New Revision: 20726
URL: http://svn.gnome.org/viewvc/gtk+?rev=20726&view=rev
Log:
2008-07-01 Cody Russell <bratsche gnome org>
Bug 539164 â Windows' System Menu blocks main loop
* gdk/win32/gdkevents-win32.c: Use a modal timer proc in between
receiving WM_ENTERMENULOOP and WM_EXITMENULOOP and pump the
GLib mainloop from there.
Modified:
trunk/ChangeLog
trunk/gdk/win32/gdkevents-win32.c
Modified: trunk/gdk/win32/gdkevents-win32.c
==============================================================================
--- trunk/gdk/win32/gdkevents-win32.c (original)
+++ trunk/gdk/win32/gdkevents-win32.c Tue Jul 1 23:13:26 2008
@@ -138,7 +138,7 @@
#endif
static gboolean in_ime_composition = FALSE;
-static UINT resize_timer;
+static UINT modal_timer;
static int debug_indent = 0;
@@ -2030,7 +2030,7 @@
}
static VOID CALLBACK
-resize_timer_proc (HWND hwnd,
+modal_timer_proc (HWND hwnd,
UINT msg,
UINT id,
DWORD time)
@@ -2972,12 +2972,22 @@
case WM_ENTERSIZEMOVE:
_sizemove_in_progress = TRUE;
- resize_timer = SetTimer (NULL, 0, 20, resize_timer_proc);
+ modal_timer = SetTimer (NULL, 0, 20, modal_timer_proc);
break;
case WM_EXITSIZEMOVE:
_sizemove_in_progress = FALSE;
- KillTimer (NULL, resize_timer);
+ KillTimer (NULL, modal_timer);
+ break;
+
+ case WM_ENTERMENULOOP:
+ _sizemove_in_progress = TRUE;
+ modal_timer = SetTimer (NULL, 0, 20, modal_timer_proc);
+ break;
+
+ case WM_EXITMENULOOP:
+ _sizemove_in_progress = FALSE;
+ KillTimer (NULL, modal_timer);
break;
case WM_WINDOWPOSCHANGED :
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]