From 90e701df0898538ca06ad4327697a4e55644b4d4 Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Thu, 18 Dec 2008 23:05:43 -0500 Subject: [PATCH] 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. --- egl-compositor.c | 10 ++++++++++ 1 file changed, 10 insertions(+) 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) { -- 2.7.4