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 */

Reply via email to