From ec50b25d0b5253a8ae33b51f04ab9488c801bd0c Mon Sep 17 00:00:00 2001 From: "Enrico Weigelt, metux IT consult" Date: Thu, 5 Sep 2024 17:48:56 +0200 Subject: [PATCH] 1 --- hw/xnest/Events.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/hw/xnest/Events.c b/hw/xnest/Events.c index f98fcb162..024cb6ec9 100644 --- a/hw/xnest/Events.c +++ b/hw/xnest/Events.c @@ -152,9 +152,18 @@ xnest_handle_event(xcb_generic_event_t *event) { EVTYPE(xcb_motion_notify_event_t); ValuatorMask mask; - int valuators[2]; - valuators[0] = ev->event_x; - valuators[1] = ev->event_y; + int valuators[2] = { ev->event_x, ev->event_y }; + + fprintf(stderr, "MotionNotify: E=(%d:%d) R=(%d:%d)\n", ev->event_x, ev->event_y, ev->root_x, ev->root_y); + fprintf(stderr, " root=%0x event=%0x child=%0x\n", ev->root, ev->event, ev->child); + + WindowPtr pWin = xnestWindowPtr(ev->event); + if (xnestRootless && pWin) { + fprintf(stderr, "window's position: %d:%d\n", pWin->drawable.x, pWin->drawable.y); + valuators[0] += pWin->drawable.x; + valuators[1] += pWin->drawable.y; + } + valuator_mask_set_range(&mask, 0, 2, valuators); lastEventTime = GetTimeInMillis(); QueuePointerEvents(xnestPointerDevice, MotionNotify,