ref: cddb3108d69921fc255ce72dba3689d438e53521
parent: 669c593fe8a9b4baa76e70d834a4187ae45f9499
author: Jacob Moody <[email protected]>
date: Tue Jun 27 10:28:37 EDT 2023
gui-wl: fix client side decoration mouse events A logic error was causing dropped mouse input events. The intention was to allow a 'hit' from the csd mouse handler to consume the event.
--- a/gui-wl/wl-cb.c
+++ b/gui-wl/wl-cb.c
@@ -377,9 +377,6 @@
static int
csd_handle_mouse(Wlwin *wl, uint32_t button, uint32_t serial)
{
- if(!wl->client_side_deco){
- return 0;
- }
if(ptinrect(wl->mouse.xy, wl->csd_rects.button_close)){
wlclose(wl);
return 1;
@@ -422,8 +419,10 @@
wl->mouse.buttons &= ~m;
wl->mouse.msec = time;
- if(state && !csd_handle_mouse(wl, button, serial))
- absmousetrack(wl->mouse.xy.x, wl->mouse.xy.y, wl->mouse.buttons, wl->mouse.msec);
+ if(state && wl->client_side_deco && csd_handle_mouse(wl, button, serial))
+ return;
+
+ absmousetrack(wl->mouse.xy.x, wl->mouse.xy.y, wl->mouse.buttons, wl->mouse.msec);
}
static void