Details
-
Bug
-
Resolution: Invalid
-
P1: Critical
-
None
-
5.15.10
Description
Key event sent from remote PC by QApplication::postEvent() can never be delivered to QtWayland application on client PC because the receiver (a QQuickWindow or Window) cannot have focus whatsoever. activeFocusItem() always returns 0, and even contentItem()->setFocus(true) cannot get focus set correctly. It's happening to EGLFS but not XCB platform.
It is speculated that the reason may have something to do with QQuickWindowPrivate::setFocusInScope method in which the following lines exist:
if (!(options & DontChangeFocusProperty)) {
if (item != contentItem || windowHasFocus(q)
#ifdef Q_OS_WEBOS
// Allow focused if there is only one window in the screen where it belongs.
// Temporary fix for webOS until multi-seat is implemented see QTBUG-85272
singleWindowOnScreen(q) #endif ) { itemPrivate->focus = true; changed << item; } } |
---|
windowHasFocus(q) is always false on EGLFS platform.