diff options
author | Martin Zielinski <martin.zielinski@nokia.com> | 2011-07-04 09:41:26 +0200 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2011-07-08 11:22:30 +0200 |
commit | fc9e419cabc67c33907661dfbfa5595a5896afdb (patch) | |
tree | a6c661f73df7c53f22023389f5d32f8529e6dfd6 /src/plugins/platforms/wayland/windowmanager_integration/qwaylandwindowmanagerintegration.cpp | |
parent | b2aa1c7939ec3d7f0598e220c44947fe9fd81e3d (diff) |
Fixed wayland windowmanager-protocol authorization
The authorization is now handled more robust. The client tries to authenticate
as soon as a surface is created, but does so only if the authentication
token is valid. A re-authorization than happens when requestActivateWindow()
is called.
This is needed to get the auth-process properly working even with
pre-started clients, that do not have a valid token on surface-creation
time.
Change-Id: I4371b424686b9d5a6a163a802ec66a33c0aeeea7
Reviewed-on: http://codereview.qt.nokia.com/1207
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Lasse Holmstedt
Diffstat (limited to 'src/plugins/platforms/wayland/windowmanager_integration/qwaylandwindowmanagerintegration.cpp')
-rw-r--r-- | src/plugins/platforms/wayland/windowmanager_integration/qwaylandwindowmanagerintegration.cpp | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/src/plugins/platforms/wayland/windowmanager_integration/qwaylandwindowmanagerintegration.cpp b/src/plugins/platforms/wayland/windowmanager_integration/qwaylandwindowmanagerintegration.cpp index 7390c52..60b0a56 100644 --- a/src/plugins/platforms/wayland/windowmanager_integration/qwaylandwindowmanagerintegration.cpp +++ b/src/plugins/platforms/wayland/windowmanager_integration/qwaylandwindowmanagerintegration.cpp @@ -99,19 +99,18 @@ void QWaylandWindowManagerIntegration::authenticateWithToken(const QByteArray &t QByteArray authToken = token; if (authToken.isEmpty()) authToken = qgetenv("WL_AUTHENTICATION_TOKEN"); - if (mWaylandWindowManager) + + if (mWaylandWindowManager && !authToken.isEmpty()) { wl_windowmanager_authenticate_with_token(mWaylandWindowManager, authToken.constData()); + } } void QWaylandWindowManagerIntegration::wlHandleOnScreenVisibilityChange(void *data, struct wl_windowmanager *wl_windowmanager, int visible) { Q_UNUSED(data); Q_UNUSED(wl_windowmanager); - QEvent evt(visible != 0 ? QEvent::ApplicationActivated : QEvent::ApplicationDeactivated); - + QEvent evt(visible != 0 ? QEvent::ApplicationActivate : QEvent::ApplicationDeactivate); QCoreApplication::sendEvent(QCoreApplication::instance(), &evt); - - qDebug() << "OnScreenVisibility" << (visible != 0); } void QWaylandWindowManagerIntegration::wlHandleScreenOrientationChange(void *data, struct wl_windowmanager *wl_windowmanager, int screenOrientation) |