diff options
author | Samuel Rødal <samuel.rodal@nokia.com> | 2011-07-12 12:52:22 +0200 |
---|---|---|
committer | Samuel Rødal <samuel.rodal@nokia.com> | 2011-07-12 12:52:22 +0200 |
commit | e048a05ab5e685556a211b470e7335f3fefc2cb2 (patch) | |
tree | e403217e622d8b67dbc23c1d4c50330947b87bdc | |
parent | 8d80e7c49bb8debc3a9b8e9d57e76f6ab981f384 (diff) | |
parent | fc9e419cabc67c33907661dfbfa5595a5896afdb (diff) |
Merge remote branch 'gerrit/master' into refactor
Conflicts:
src/gui/image/qicon.cpp
src/gui/image/qicon.h
src/gui/image/qicon_p.h
src/gui/text/qfontdatabase.cpp
src/plugins/platforms/wayland/gl_integration/qwaylandglwindowsurface.cpp
src/plugins/platforms/wayland/gl_integration/wayland_egl/qwaylandglcontext.cpp
src/plugins/platforms/wayland/gl_integration/xcomposite_egl/qwaylandxcompositeeglwindow.cpp
sync.profile
Change-Id: Ie0a23a12177ff51bf562e15b2dd41f071afb19b4
3 files changed, 16 insertions, 5 deletions
diff --git a/src/plugins/platforms/wayland/gl_integration/xcomposite_egl/qwaylandxcompositeeglwindow.cpp b/src/plugins/platforms/wayland/gl_integration/xcomposite_egl/qwaylandxcompositeeglwindow.cpp index 9bf857d..320113f 100644 --- a/src/plugins/platforms/wayland/gl_integration/xcomposite_egl/qwaylandxcompositeeglwindow.cpp +++ b/src/plugins/platforms/wayland/gl_integration/xcomposite_egl/qwaylandxcompositeeglwindow.cpp @@ -48,6 +48,8 @@ #include "wayland-xcomposite-client-protocol.h" #include <X11/extensions/Xcomposite.h> +#include "qwaylandxcompositeeglintegration.h" +#include "windowmanager_integration/qwaylandwindowmanagerintegration.h" #include <QtCore/QDebug> @@ -147,3 +149,12 @@ void QWaylandXCompositeEGLWindow::sync_function(void *data) QWaylandXCompositeEGLWindow *that = static_cast<QWaylandXCompositeEGLWindow *>(data); that->m_waitingForSync = false; } + +void QWaylandXCompositeEGLWindow::requestActivateWindow() +{ +#ifdef QT_WAYLAND_WINDOWMANAGER_SUPPORT + mDisplay->windowManagerIntegration()->authenticateWithToken(); +#endif + + QWaylandWindow::requestActivateWindow(); +} diff --git a/src/plugins/platforms/wayland/gl_integration/xcomposite_egl/qwaylandxcompositeeglwindow.h b/src/plugins/platforms/wayland/gl_integration/xcomposite_egl/qwaylandxcompositeeglwindow.h index 535498a..b2f8fbe 100644 --- a/src/plugins/platforms/wayland/gl_integration/xcomposite_egl/qwaylandxcompositeeglwindow.h +++ b/src/plugins/platforms/wayland/gl_integration/xcomposite_egl/qwaylandxcompositeeglwindow.h @@ -55,6 +55,7 @@ public: WindowType windowType() const; void setGeometry(const QRect &rect); + void requestActivateWindow(); EGLSurface eglSurface() const; 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) |