From f19645aa25737a30115354b025b37fb970e479e9 Mon Sep 17 00:00:00 2001 From: Johan Malm Date: Tue, 16 Aug 2022 21:56:39 +0100 Subject: [PATCH] cursor: do not clamp motion coordinates for xdg-shell surfaces ...when pointer moves off the xdg-shell surface which is possible when for example grabbing a scroll-bar or selecting text. Clamping results in undetected pointer motion when applied in the direction of movement (for example clamping at view->y masks vertical movement when the y-coordinate is greater than view->y), which in turn can appear as sporadic to the end-user. --- src/cursor.c | 8 -------- 1 file changed, 8 deletions(-) diff --git a/src/cursor.c b/src/cursor.c index 6d97ae52..68b2410e 100644 --- a/src/cursor.c +++ b/src/cursor.c @@ -304,14 +304,6 @@ process_cursor_motion(struct server *server, uint32_t time) sy = server->seat.cursor->y - ly; if (view && view->type == LAB_XDG_SHELL_VIEW) { - /* - * X11 apps expect to be able to receive motion events outside - * the window area (this is necessary for client-side move/resize - * handles to work properly). So only clamp the motion coordinates - * for XDG surfaces. - */ - sx = sx < 0 ? 0 : (sx > view->w ? view->w : sx); - sy = sy < 0 ? 0 : (sy > view->h ? view->h : sy); /* Take into account invisible CSD borders */ if (view->xdg_surface) { struct wlr_box geo;