https://git.reactos.org/?p=reactos.git;a=commitdiff;h=83d2c8ce3366a8d1fafae…
commit 83d2c8ce3366a8d1fafae52ee804a70c66e8a6b9
Author: Hervé Poussineau <hpoussin(a)reactos.org>
AuthorDate: Sat May 14 15:41:44 2022 +0200
Commit: hpoussin <32227662+hpoussin(a)users.noreply.github.com>
CommitDate: Sat May 14 21:29:12 2022 +0200
[WIN32SS] mouse: call panning driver when moving pointer
Yes, if a driver supports both hardware pointers and panning, it will be called twice
on each move.
---
win32ss/gdi/eng/mouse.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/win32ss/gdi/eng/mouse.c b/win32ss/gdi/eng/mouse.c
index 21f67f7fdcc..c8de250aa1f 100644
--- a/win32ss/gdi/eng/mouse.c
+++ b/win32ss/gdi/eng/mouse.c
@@ -820,6 +820,11 @@ GreMovePointer(
pdc->ppdev->pfnMovePointer(pso, x, y, prcl);
else if (pdc->ppdev->flFlags & PDEV_SOFTWARE_POINTER)
EngMovePointer(pso, x, y, prcl);
+
+ /* If panning device, and we're not hiding the cursor, notify cursor's
current position.
+ * (driver may already have been called if it also supports hardware pointers)
*/
+ if (pdc->ppdev->devinfo.flGraphicsCaps & GCAPS_PANNING && y
>= 0)
+ pdc->ppdev->pfnMovePointer(pso, x, y - pso->sizlBitmap.cy, NULL);
}
/* Release PDEV lock */