From 94aff97018f7036dba40c08a89e2a8012c235ee3 Mon Sep 17 00:00:00 2001 From: James Turner Date: Thu, 30 Aug 2012 13:44:49 +0100 Subject: Backport fix screen event-registration failure. Don't attempt to register for events from non-attached screens. Backport of commit 9597e0d2a23c4673aea7a74598a6a634527c443c from qt5/qtbase Change-Id: I95859abc476f43308ba9b2c684b8eaae731c59f6 Reviewed-by: Sean Harmer --- src/plugins/platforms/blackberry/qbbbpseventfilter.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/plugins/platforms/blackberry/qbbbpseventfilter.cpp b/src/plugins/platforms/blackberry/qbbbpseventfilter.cpp index 81d7265..2835cc0 100644 --- a/src/plugins/platforms/blackberry/qbbbpseventfilter.cpp +++ b/src/plugins/platforms/blackberry/qbbbpseventfilter.cpp @@ -99,6 +99,19 @@ void QBBBpsEventFilter::registerForScreenEvents(QBBScreen *screen) return; } + int attached; + if (screen_get_display_property_iv(screen->nativeDisplay(), SCREEN_PROPERTY_ATTACHED, &attached) != BPS_SUCCESS) { + qWarning() << "QBB: unable to query display attachment"; + return; + } + + if (!attached) { +#if defined(QBBBPSEVENTFILTER_DEBUG) + qDebug() << Q_FUNC_INFO << "skipping event registration for non-attached screen"; +#endif + return; + } + if (screen_request_events(screen->nativeContext()) != BPS_SUCCESS) qWarning("QBB: failed to register for screen events on screen %p", screen->nativeContext()); } -- cgit v0.12