From b8ed7d20de7b33c20d8308db151355f4ae5519fd Mon Sep 17 00:00:00 2001 From: "U-SLAVA-DFB8FF805\\Slava" Date: Wed, 28 Jan 2009 02:46:29 -0600 Subject: [PATCH] Update Windows-specific code for stricter stack checking --- basis/ui/windows/windows.factor | 14 +++++++------- basis/windows/winsock/winsock.factor | 5 ++--- 2 files changed, 9 insertions(+), 10 deletions(-) mode change 100644 => 100755 basis/windows/winsock/winsock.factor diff --git a/basis/ui/windows/windows.factor b/basis/ui/windows/windows.factor index c22fcb6cbe..9df694ee37 100755 --- a/basis/ui/windows/windows.factor +++ b/basis/ui/windows/windows.factor @@ -104,7 +104,7 @@ SYMBOLS: msg-obj class-name-ptr mouse-captured ; [ lo-word ] keep hi-word 2array swap window (>>window-loc) ; -: wm-keydown-codes ( -- key ) +CONSTANT: wm-keydown-codes H{ { 8 "BACKSPACE" } { 9 "TAB" } @@ -132,7 +132,7 @@ SYMBOLS: msg-obj class-name-ptr mouse-captured ; { 121 "F10" } { 122 "F11" } { 123 "F12" } - } ; + } : key-state-down? ( key -- ? ) GetKeyState 16 bit? ; @@ -155,22 +155,22 @@ SYMBOLS: msg-obj class-name-ptr mouse-captured ; alt? [ A+ , ] when ] { } make [ empty? not ] keep f ? ; -: exclude-keys-wm-keydown +CONSTANT: exclude-keys-wm-keydown H{ { 16 "SHIFT" } { 17 "CTRL" } { 18 "ALT" } { 20 "CAPS-LOCK" } - } ; + } -: exclude-keys-wm-char - ! Values are ignored +! Values are ignored +CONSTANT: exclude-keys-wm-char H{ { 8 "BACKSPACE" } { 9 "TAB" } { 13 "RET" } { 27 "ESC" } - } ; + } : exclude-key-wm-keydown? ( n -- ? ) exclude-keys-wm-keydown key? ; diff --git a/basis/windows/winsock/winsock.factor b/basis/windows/winsock/winsock.factor old mode 100644 new mode 100755 index 27069ed743..06df74cd4c --- a/basis/windows/winsock/winsock.factor +++ b/basis/windows/winsock/winsock.factor @@ -257,12 +257,11 @@ TYPEDEF: WSANAMESPACE_INFOW WSANAMESPACE_INFO TYPEDEF: WSANAMESPACE_INFO* PWSANAMESPACE_INFO TYPEDEF: WSANAMESPACE_INFO* LPWSANAMESPACE_INFO -: FD_MAX_EVENTS 10 ; +CONSTANT: FD_MAX_EVENTS 10 C-STRUCT: WSANETWORKEVENTS { "long" "lNetworkEvents" } - ! { { "int" "FD_MAX_EVENTS" } "iErrorCode" } ; - { { "int" 10 } "iErrorCode" } ; + { { "int" FD_MAX_EVENTS } "iErrorCode" } ; TYPEDEF: WSANETWORKEVENTS* PWSANETWORKEVENTS TYPEDEF: WSANETWORKEVENTS* LPWSANETWORKEVENTS