diff --git a/egl-compositor.c b/egl-compositor.c index b0e55522..a0194541 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) {