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