From 73d6f4f8072c9b5e20a29d16b26f51a9cdd67533 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Thu, 7 Nov 2013 14:59:23 -0700 Subject: [PATCH] racket/gui cocoa: remove `warp-pointer` delay Change suggested by Philipp Dikmann. --- pkgs/gui-pkgs/gui-lib/mred/private/wx/cocoa/window.rkt | 4 +++- pkgs/gui-pkgs/gui-test/tests/gracket/item.rkt | 5 +++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/pkgs/gui-pkgs/gui-lib/mred/private/wx/cocoa/window.rkt b/pkgs/gui-pkgs/gui-lib/mred/private/wx/cocoa/window.rkt index 717f202226..823fdd92e4 100644 --- a/pkgs/gui-pkgs/gui-lib/mred/private/wx/cocoa/window.rkt +++ b/pkgs/gui-pkgs/gui-lib/mred/private/wx/cocoa/window.rkt @@ -453,6 +453,7 @@ (define _CGError _int32) (define-appserv CGWarpMouseCursorPosition (_fun _NSPoint -> _CGError)) +(define-appserv CGAssociateMouseAndMouseCursorPosition (_fun _BOOL -> _CGError)) (define window% (class object% @@ -895,7 +896,8 @@ (define xb (box x)) (define yb (box y)) (client-to-screen xb yb) - (void (CGWarpMouseCursorPosition (make-NSPoint (unbox xb) (unbox yb))))) + (void (CGWarpMouseCursorPosition (make-NSPoint (unbox xb) (unbox yb)))) + (void (CGAssociateMouseAndMouseCursorPosition #t))) (define/private (create-compose-window) (unless compose-cocoa diff --git a/pkgs/gui-pkgs/gui-test/tests/gracket/item.rkt b/pkgs/gui-pkgs/gui-test/tests/gracket/item.rkt index dbc19149f6..8fe4c0a2af 100644 --- a/pkgs/gui-pkgs/gui-test/tests/gracket/item.rkt +++ b/pkgs/gui-pkgs/gui-test/tests/gracket/item.rkt @@ -2480,6 +2480,11 @@ (make-object button% "Make Blue Editor" edp (lambda (b e) (editor-frame null "blue"))) +(new horizontal-panel% [parent edp]) +(make-object button% + "Warp Pointer" edp + (lambda (b e) + (send selector warp-pointer 5 5))) (define (choose-next radios) (let loop ([l radios])