Client: Fix handling of Qt::BlankCursor

The cursor may not be properly set when a window has Qt::BlankCursor and
it's shown. In that case, the cursor surface may not be present and
wl_pointer.set_cursor won't be called.

On the other hand, wl_pointer.set_cursor must be always called when
wl_pointer.enter is received.

Pick-to: 6.5
Change-Id: I8540e7a02df1579b3380a1a1d4cfab42c1ab3104
Reviewed-by: David Edmundson <davidedmundson@kde.org>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
This commit is contained in:
Vlad Zahorodnii 2022-11-22 23:27:34 +02:00
parent 19f6aae5f2
commit 051b3ce2ee

View File

@ -285,8 +285,7 @@ void QWaylandInputDevice::Pointer::updateCursor()
auto shape = seat()->mCursor.shape;
if (shape == Qt::BlankCursor) {
if (mCursor.surface)
mCursor.surface->hide();
getOrCreateCursorSurface()->hide();
return;
}