Client: Honor QGuiApplication::overrideCursor()

If there's a QGuiApplication::overrideCursor(), QWindow::cursor() can
still return a different cursor. This can result in a wrong cursor when
the pointer enters a window.

Pick-to: 6.4 6.2 5.15
Fixes: QTBUG-75919
Change-Id: I015117b4b6d252b421ab14bd8f2a8f582f7cae52
Reviewed-by: Liang Qi <liang.qi@qt.io>
This commit is contained in:
Vlad Zahorodnii 2022-11-22 20:58:22 +02:00 committed by Liang Qi
parent 6ec226dbd1
commit 27e59681ac

View File

@ -1263,7 +1263,10 @@ void QWaylandWindow::setMouseCursor(QWaylandInputDevice *device, const QCursor &
void QWaylandWindow::restoreMouseCursor(QWaylandInputDevice *device)
{
setMouseCursor(device, window()->cursor());
if (const QCursor *overrideCursor = QGuiApplication::overrideCursor())
setMouseCursor(device, *overrideCursor);
else
setMouseCursor(device, window()->cursor());
}
#endif