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