From: Ray Strode Date: Fri, 19 Dec 2008 04:05:43 +0000 (-0500) Subject: Force pointer to stay on screen. X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=90e701df0898538ca06ad4327697a4e55644b4d4;p=platform%2Fupstream%2Fweston.git Force pointer to stay on screen. Without this change it's really easy to accidentally send the pointer flying and not be able to get it back. --- diff --git a/egl-compositor.c b/egl-compositor.c index b0e5552..a019454 100644 --- a/egl-compositor.c +++ b/egl-compositor.c @@ -724,9 +724,19 @@ void notify_motion(struct egl_input_device *device, int x, int y) { struct egl_surface *es; + struct egl_compositor *ec = device->ec; const int hotspot_x = 16, hotspot_y = 16; int32_t sx, sy; + if (x < 0) + x = 0; + if (y < 0) + y = 0; + if (x >= ec->width) + x = ec->width - 1; + if (y >= ec->height) + y = ec->height - 1; + es = pick_surface(device); if (es) {