]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/msw/private.h
Applied patch [ 743248 ] wxArray::RemoveAt() error message fix
[wxWidgets.git] / include / wx / msw / private.h
index 31a435f2a4c98f0666e0f51b555edb65944fa383..c017a715f76dc9c41d63bea26da4153d5ef0d134 100644 (file)
@@ -286,12 +286,18 @@ HCURSOR wxBitmapToHCURSOR(const wxBitmap& bmp, int hotSpotX, int hotSpotY);
 // get the current state of SHIFT/CTRL keys
 inline bool wxIsShiftDown()
 {
-    return (::GetKeyState(VK_SHIFT) & 0x100) != 0;
+//    return (::GetKeyState(VK_SHIFT) & 0x100) != 0;
+    // Returns different negative values on WinME and WinNT,
+    // so simply test for negative value.
+    return ::GetKeyState(VK_SHIFT) < 0;
 }
 
 inline bool wxIsCtrlDown()
 {
-    return (::GetKeyState(VK_CONTROL) & 0x100) != 0;
+//    return (::GetKeyState(VK_CONTROL) & 0x100) != 0;
+    // Returns different negative values on WinME and WinNT,
+    // so simply test for negative value.
+    return ::GetKeyState(VK_CONTROL) < 0;
 }
 
 // wrapper around GetWindowRect() and GetClientRect() APIs doing error checking
@@ -338,7 +344,8 @@ struct WinStruct : public T
 {
     WinStruct()
     {
-        ::ZeroMemory(this, cbSize = sizeof(T));
+        ::ZeroMemory(this, sizeof(T));
+        cbSize = sizeof(T);
     }
 };