summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/wayland/qwaylanddisplay.cpp
diff options
context:
space:
mode:
authorLasse Holmstedt <lasse.holmstedt@nokia.com>2011-05-19 11:55:12 (GMT)
committerLasse Holmstedt <lasse.holmstedt@nokia.com>2011-05-19 12:11:31 (GMT)
commit457c33d9fd308542c9290fd60bf86960f9251255 (patch)
tree70274c9aaa45487f531f41d5f4f59cb2c86e261f /src/plugins/platforms/wayland/qwaylanddisplay.cpp
parentf8e85838c5531b56c2175cbdb9c24db426f7fd89 (diff)
downloadQt-457c33d9fd308542c9290fd60bf86960f9251255.zip
Qt-457c33d9fd308542c9290fd60bf86960f9251255.tar.gz
Qt-457c33d9fd308542c9290fd60bf86960f9251255.tar.bz2
Wayland: send surface id + process id pairs to compositor
This enables doing window/process management since we can now actually map the process we've launched to a window. Reviewed-by: Samuel Rødal
Diffstat (limited to 'src/plugins/platforms/wayland/qwaylanddisplay.cpp')
-rw-r--r--src/plugins/platforms/wayland/qwaylanddisplay.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/plugins/platforms/wayland/qwaylanddisplay.cpp b/src/plugins/platforms/wayland/qwaylanddisplay.cpp
index 876b46a..dcfaf0f 100644
--- a/src/plugins/platforms/wayland/qwaylanddisplay.cpp
+++ b/src/plugins/platforms/wayland/qwaylanddisplay.cpp
@@ -50,6 +50,10 @@
#include "gl_integration/qwaylandglintegration.h"
#endif
+#ifdef QT_WAYLAND_WINDOWMANAGER_SUPPORT
+#include "windowmanager_integration/qwaylandwindowmanagerintegration.h"
+#endif
+
#include <QtCore/QAbstractEventDispatcher>
#include <QtGui/QApplication>
@@ -95,6 +99,13 @@ QWaylandGLIntegration * QWaylandDisplay::eglIntegration()
}
#endif
+#ifdef QT_WAYLAND_WINDOWMANAGER_SUPPORT
+QWaylandWindowManagerIntegration *QWaylandDisplay::windowManagerIntegration()
+{
+ return mWindowManagerIntegration;
+}
+#endif
+
void QWaylandDisplay::shellHandleConfigure(void *data, struct wl_shell *shell,
uint32_t time, uint32_t edges,
struct wl_surface *surface,
@@ -134,6 +145,10 @@ QWaylandDisplay::QWaylandDisplay(void)
mEglIntegration->initialize();
#endif
+#ifdef QT_WAYLAND_WINDOWMANAGER_SUPPORT
+ mWindowManagerIntegration = QWaylandWindowManagerIntegration::createIntegration(this);
+#endif
+
connect(QAbstractEventDispatcher::instance(), SIGNAL(aboutToBlock()), this, SLOT(flushRequests()));
mFd = wl_display_get_fd(mDisplay, sourceUpdate, this);