Ignore screen create events for other than window object type

Previously the screen create event was only handled for window.
With QNX 8.0 there seems to be also screen create events for display
and device. The property query returns ENOTSUP (Not supported) so we
simply ignore other than window create event.

Fixes: QTBUG-129213
Change-Id: Ia7da693f06f6590d349595ecde6b303fab145bc0
Reviewed-by: James McDonnell <jmcdonnell@blackberry.com>
(cherry picked from commit 11d5792774e921a7d6e296b1238f9e9c96ddfd96)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
Tuomas Vaarala 2024-09-27 09:44:38 +03:00 committed by Qt Cherry-pick Bot
parent a506d6bd88
commit 5e090d4b9b

View File

@ -606,11 +606,35 @@ void QQnxScreenEventHandler::handleCloseEvent(screen_event_t event)
void QQnxScreenEventHandler::handleCreateEvent(screen_event_t event)
{
screen_window_t window = 0;
int object_type = -1;
Q_SCREEN_CHECKERROR(
screen_get_event_property_iv(event, SCREEN_PROPERTY_OBJECT_TYPE, &object_type),
"Failed to query object type for create event");
switch (object_type) {
// Other object types than window produces an unnessary warning, thus ignore
case SCREEN_OBJECT_TYPE_CONTEXT:
case SCREEN_OBJECT_TYPE_GROUP:
case SCREEN_OBJECT_TYPE_DISPLAY:
case SCREEN_OBJECT_TYPE_DEVICE:
case SCREEN_OBJECT_TYPE_PIXMAP:
case SCREEN_OBJECT_TYPE_SESSION:
case SCREEN_OBJECT_TYPE_STREAM:
break;
case SCREEN_OBJECT_TYPE_WINDOW:
{
Q_SCREEN_CHECKERROR(
screen_get_event_property_pv(event, SCREEN_PROPERTY_WINDOW, (void**)&window),
"Failed to query window property");
Q_EMIT newWindowCreated(window);
break;
}
default:
qCDebug(lcQpaScreenEvents) << "Ignore create event for object type: " << object_type;
break;
}
}
void QQnxScreenEventHandler::handleDisplayEvent(screen_event_t event)