https://git.reactos.org/?p=reactos.git;a=commitdiff;h=83d2c8ce3366a8d1fafae52ee804a70c66e8a6b9
commit 83d2c8ce3366a8d1fafae52ee804a70c66e8a6b9 Author: Hervé Poussineau <[email protected]> AuthorDate: Sat May 14 15:41:44 2022 +0200 Commit: hpoussin <[email protected]> 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 */
