Commit edb61593 authored by Aleix Pol Gonzalez's avatar Aleix Pol Gonzalez 🐧 Committed by Aleix Pol Gonzalez
Browse files

drm: we must not call showCursor when softwareCursor is on

Otherwise we'll show a dangling cursor but otherwise the cursor will be
updated by other code paths, so we end up with a weird cursor in the
middle of the screen that doesn't move.
parent 9225848f
......@@ -120,6 +120,11 @@ bool DrmOutput::showCursor(DrmDumbBuffer *c)
bool DrmOutput::showCursor()
{
if (Q_UNLIKELY(m_backend->usesSoftwareCursor())) {
qCCritical(KWIN_DRM) << "DrmOutput::showCursor should never be called when software cursor is enabled";
return true;
}
const bool ret = showCursor(m_cursor[m_cursorIndex]);
if (!ret) {
return ret;
......@@ -710,7 +715,7 @@ void DrmOutput::updateTransform(Transform transform)
m_modesetRequested = true;
// show cursor only if is enabled, i.e if pointer device is presentP
if (m_backend->isCursorEnabled()) {
if (m_backend->isCursorEnabled() && !m_backend->usesSoftwareCursor()) {
// the cursor might need to get rotated
updateCursor();
showCursor();
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment