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:
parent
a506d6bd88
commit
5e090d4b9b
@ -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)
|
||||
|
Loading…
x
Reference in New Issue
Block a user