diff --git a/plugins/platforms/drm/drm_output.cpp b/plugins/platforms/drm/drm_output.cpp index bdd4506164..efefecbcaa 100644 --- a/plugins/platforms/drm/drm_output.cpp +++ b/plugins/platforms/drm/drm_output.cpp @@ -104,7 +104,7 @@ void DrmOutput::showCursor(DrmDumbBuffer *c) void DrmOutput::moveCursor(const QPoint &globalPos) { - const QPoint p = (globalPos * m_scale) - m_backend->softwareCursorHotspot(); + const QPoint p = ((globalPos - m_globalPos) * m_scale) - m_backend->softwareCursorHotspot(); drmModeMoveCursor(m_backend->fd(), m_crtc->id(), p.x(), p.y()); }