diff --git a/composite.cpp b/composite.cpp index 240a0536b0..50bb3ee9b2 100644 --- a/composite.cpp +++ b/composite.cpp @@ -705,6 +705,9 @@ void Compositor::performCompositing() surface->frameRendered(currentTime); } } + if (!kwinApp()->platform()->isCursorHidden()) { + Cursors::self()->currentCursor()->markAsRendered(); + } } // Stop here to ensure *we* cause the next repaint schedule - not some effect diff --git a/plugins/platforms/drm/drm_backend.cpp b/plugins/platforms/drm/drm_backend.cpp index 259ff8657c..fc32b9bc32 100644 --- a/plugins/platforms/drm/drm_backend.cpp +++ b/plugins/platforms/drm/drm_backend.cpp @@ -544,8 +544,6 @@ void DrmBackend::setCursor() } } } - - Cursors::self()->currentCursor()->markAsRendered(); } void DrmBackend::updateCursor() diff --git a/plugins/platforms/x11/windowed/x11windowed_backend.cpp b/plugins/platforms/x11/windowed/x11windowed_backend.cpp index 267bdd271b..9b24c03d26 100644 --- a/plugins/platforms/x11/windowed/x11windowed_backend.cpp +++ b/plugins/platforms/x11/windowed/x11windowed_backend.cpp @@ -481,7 +481,6 @@ void X11WindowedBackend::createCursor(const QImage &srcImage, const QPoint &hots } m_cursor = cid; xcb_flush(m_connection); - Cursors::self()->currentCursor()->markAsRendered(); } xcb_window_t X11WindowedBackend::rootWindow() const diff --git a/plugins/scenes/opengl/scene_opengl.cpp b/plugins/scenes/opengl/scene_opengl.cpp index 3f178ce750..a5e46ce660 100644 --- a/plugins/scenes/opengl/scene_opengl.cpp +++ b/plugins/scenes/opengl/scene_opengl.cpp @@ -601,9 +601,6 @@ void SceneOpenGL2::paintCursor() binder.shader()->setUniform(GLShader::ModelViewProjectionMatrix, mvp); m_cursorTexture->render(QRegion(cursorRect), cursorRect); m_cursorTexture->unbind(); - - cursor->markAsRendered(); - glDisable(GL_BLEND); } diff --git a/plugins/scenes/qpainter/scene_qpainter.cpp b/plugins/scenes/qpainter/scene_qpainter.cpp index f99e7bfb53..e4bac24414 100644 --- a/plugins/scenes/qpainter/scene_qpainter.cpp +++ b/plugins/scenes/qpainter/scene_qpainter.cpp @@ -163,7 +163,6 @@ void SceneQPainter::paintCursor() const QPoint cursorPos = cursor->pos(); const QPoint hotspot = cursor->hotspot(); m_painter->drawImage(cursorPos - hotspot, img); - cursor->markAsRendered(); } void SceneQPainter::paintEffectQuickView(EffectQuickView *w)