xserver: Branch 'xwayland-1.12'

Kristian Høgsberg krh at kemper.freedesktop.org
Mon Jul 16 12:45:53 PDT 2012


 hw/xfree86/xwayland/xwayland-input.c |    5 +++++
 1 file changed, 5 insertions(+)

New commits:
commit e01f340e083cdf9454740f320a18df0d8d4d69c4
Author: Tiago Vignatti <tiago.vignatti at intel.com>
Date:   Mon Jul 16 17:12:24 2012 +0300

    xwayland: fix EnterNotify position
    
    enter handler wasn't updating sprite coordinates based on the Wayland event
    just sent, failing when forwarding the correct EnterNotify to the X client.
    
    There was a doubt regarding whether ProcessInputEvents should be called just
    after SetCursorPosition or not in order to dequeue the event. When the cursor
    is in motion it obviously will trigger PIE, so to verify it without moving I
    used the switcher binding (mod + tab), so the cursor would enter another
    (frame) window that was unmapped, change to the right cursor and PIE would
    have to be triggered right after. In fact that was the case and I simply
    assumed a direct call to PIE wasn't really needed there.
    
    Signed-off-by: Tiago Vignatti <tiago.vignatti at intel.com>

diff --git a/hw/xfree86/xwayland/xwayland-input.c b/hw/xfree86/xwayland/xwayland-input.c
index a06cf20..b129fae 100644
--- a/hw/xfree86/xwayland/xwayland-input.c
+++ b/hw/xfree86/xwayland/xwayland-input.c
@@ -268,12 +268,17 @@ pointer_handle_enter(void *data, struct wl_pointer *pointer,
     struct xwl_seat *xwl_seat = data;
     DeviceIntPtr dev = xwl_seat->pointer;
     int i;
+    int sx = wl_fixed_to_int(sx_w);
+    int sy = wl_fixed_to_int(sy_w);
+    ScreenPtr pScreen = xwl_seat->xwl_screen->screen;
 
     xwl_seat->xwl_screen->serial = serial;
     xwl_seat->pointer_enter_serial = serial;
 
     xwl_seat->focus_window = wl_surface_get_user_data(surface);
 
+    (*pScreen->SetCursorPosition) (dev, pScreen, sx, sy, TRUE);
+
     SetDeviceRedirectWindow(xwl_seat->pointer, xwl_seat->focus_window->window);
 
     /* Ideally, X clients shouldn't see these button releases.  When


More information about the xorg-commit mailing list