diff --git a/collects/mred/private/wx/win32/utils.rkt b/collects/mred/private/wx/win32/utils.rkt index f100116b..727bc736 100644 --- a/collects/mred/private/wx/win32/utils.rkt +++ b/collects/mred/private/wx/win32/utils.rkt @@ -19,8 +19,8 @@ GetLastError - GetWindowLongW - SetWindowLongW + GetWindowLongPtrW + SetWindowLongPtrW SendMessageW SendMessageW/str GetSysColor GetRValue GetGValue GetBValue make-COLORREF CreateBitmap @@ -67,8 +67,8 @@ (error who "call failed (~s)" (GetLastError))) -(define-user32 GetWindowLongW (_wfun _HWND _int -> _pointer)) -(define-user32 SetWindowLongW (_wfun _HWND _int _pointer -> _pointer)) +(define-user32 GetWindowLongPtrW (_wfun _HWND _int -> _pointer)) +(define-user32 SetWindowLongPtrW (_wfun _HWND _int _pointer -> _pointer)) (define-user32 SendMessageW (_wfun _HWND _UINT _WPARAM _LPARAM -> _LRESULT)) (define-user32 SendMessageW/str (_wfun _HWND _UINT _WPARAM _string/utf-16 -> _LRESULT) diff --git a/collects/mred/private/wx/win32/wndclass.rkt b/collects/mred/private/wx/win32/wndclass.rkt index 8bcf8f4d..880209d6 100644 --- a/collects/mred/private/wx/win32/wndclass.rkt +++ b/collects/mred/private/wx/win32/wndclass.rkt @@ -37,21 +37,21 @@ (define (register-hwnd! hwnd) (hash-set! all-hwnds (cast hwnd _pointer _intptr) #t) (let ([c (malloc-immobile-cell (vector #f #f #f))]) - (void (SetWindowLongW hwnd GWLP_USERDATA c)))) + (void (SetWindowLongPtrW hwnd GWLP_USERDATA c)))) (define (set-hwnd-wx! hwnd wx) - (let* ([c (GetWindowLongW hwnd GWLP_USERDATA)] + (let* ([c (GetWindowLongPtrW hwnd GWLP_USERDATA)] [v (ptr-ref c _racket)]) (vector-set! v 0 (make-weak-box wx)))) (define (set-hwnd-ctlproc! hwnd save-ptr ctlproc) - (let* ([c (GetWindowLongW hwnd GWLP_USERDATA)] + (let* ([c (GetWindowLongPtrW hwnd GWLP_USERDATA)] [v (ptr-ref c _racket)]) (vector-set! v 1 ctlproc) (vector-set! v 2 save-ptr))) (define (hwnd->wx hwnd) - (let ([c (GetWindowLongW hwnd GWLP_USERDATA)]) + (let ([c (GetWindowLongPtrW hwnd GWLP_USERDATA)]) (and c (let ([v (ptr-ref c _racket)]) (and v (let ([wb (vector-ref v 0)]) @@ -67,12 +67,12 @@ wx)))) (define (hwnd->ctlproc hwnd) - (let ([c (GetWindowLongW hwnd GWLP_USERDATA)]) + (let ([c (GetWindowLongPtrW hwnd GWLP_USERDATA)]) (and c (let ([v (ptr-ref c _racket)]) (and v (vector-ref v 1)))))) (define (hwnd->ctlproc-fptr hwnd) - (let ([c (GetWindowLongW hwnd GWLP_USERDATA)]) + (let ([c (GetWindowLongPtrW hwnd GWLP_USERDATA)]) (and c (let ([v (ptr-ref c _racket)]) (and v (vector-ref v 2)))))) @@ -82,10 +82,10 @@ ;; call in atomic mode: (define (unregister-hwnd! hwnd) - (let ([c (GetWindowLongW hwnd GWLP_USERDATA)]) + (let ([c (GetWindowLongPtrW hwnd GWLP_USERDATA)]) (when c (free-immobile-cell c) - (SetWindowLongW hwnd GWLP_USERDATA #f)) + (SetWindowLongPtrW hwnd GWLP_USERDATA #f)) (hash-remove! all-hwnds (cast hwnd _pointer _intptr)))) ;; ---------------------------------------- @@ -122,7 +122,7 @@ (let ([default-ctlproc (hwnd->ctlproc w)]) (if (= msg WM_DESTROY) (begin - (SetWindowLongW w GWLP_WNDPROC (hwnd->ctlproc-fptr w)) + (SetWindowLongPtrW w GWLP_WNDPROC (hwnd->ctlproc-fptr w)) (unregister-hwnd! w) (default-ctlproc w msg wParam lParam)) (let ([wx (hwnd->wx w)]) @@ -135,10 +135,10 @@ (define control_proc (function-ptr control-proc _WndProc)) (define (subclass-control hwnd) - (let* ([fptr (GetWindowLongW hwnd GWLP_WNDPROC)] + (let* ([fptr (GetWindowLongPtrW hwnd GWLP_WNDPROC)] [old-control-proc (function-ptr fptr _WndProc)]) (set-hwnd-ctlproc! hwnd fptr old-control-proc) - (SetWindowLongW hwnd GWLP_WNDPROC control_proc))) + (SetWindowLongPtrW hwnd GWLP_WNDPROC control_proc))) (define _DialogProc (_wfun _HWND _UINT _WPARAM _LPARAM -> _INT_PTR))