2008-02-04 Geoff Norton <gnorton@novell.com>
* X11Keyboard.cs: VK_MENU should send a KEYUP instead of
SYSKEYUP if any other key has been pressed in the mean time.
Fixes #324404
svn path=/trunk/mcs/; revision=94804
+2008-02-04 Geoff Norton <gnorton@novell.com>
+
+ * X11Keyboard.cs: VK_MENU should send a KEYUP instead of
+ SYSKEYUP if any other key has been pressed in the mean time.
+ Fixes #324404
+
2008-02-04 Carlos Alberto Cortez <calberto.cortez@gmail.com>
* ListView.cs: In ItemControl.ItemsMouseMove, only fire ItemDrag event
private int lcid;
private bool num_state, cap_state;
private bool initialized;
+ private bool menu_state = false;
private int NumLockMask;
private int AltGrMask;
if (msg.message >= Msg.WM_KEYFIRST && msg.message <= Msg.WM_KEYLAST)
res = true;
+ if (msg.message == Msg.WM_SYSKEYUP && msg.wParam == (IntPtr) 0x12 && menu_state) {
+ msg.message = Msg.WM_KEYUP;
+ menu_state = false;
+ }
+
if (msg.message != Msg.WM_KEYDOWN && msg.message != Msg.WM_SYSKEYDOWN)
return res;
+ if ((key_state_table [(int) VirtualKeys.VK_MENU] & 0x80) != 0 && msg.wParam != (IntPtr) 0x12)
+ menu_state = true;
+
EnsureLayoutInitialized ();
string buffer;