From eec1488b0b9718f44927cec3d6a7d6d205dc7661 Mon Sep 17 00:00:00 2001 From: Jonathan Maw Date: Tue, 21 Apr 2015 14:20:43 +0000 Subject: Use IVI-Surface-ID This is adapted off a patch by Holger Behrens --- src/client/qwaylandwindow.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/client/qwaylandwindow.cpp b/src/client/qwaylandwindow.cpp index d7ff50b9..7c3091ba 100644 --- a/src/client/qwaylandwindow.cpp +++ b/src/client/qwaylandwindow.cpp @@ -101,7 +101,14 @@ QWaylandWindow::QWaylandWindow(QWindow *window) if (mDisplay->subSurfaceExtension()) mSubSurfaceWindow = new QWaylandSubSurface(this, mDisplay->subSurfaceExtension()->get_sub_surface_aware_surface(object())); if (mDisplay->iviApplication() && (window->type() & Qt::Window)) { - mIviSurface = new QWaylandIviSurface(mDisplay->iviApplication()->surface_create((uint32_t)QCoreApplication::applicationPid(), object()), this); + unsigned int id = 0; + QVariant value = window->property("IVI-Surface-ID"); + if (value.isValid()) + id = value.toUInt(); + else + id = (uint32_t)QCoreApplication::applicationPid(); + + mIviSurface = new QWaylandIviSurface(mDisplay->iviApplication()->surface_create(id, object()), this); } if (!(window->flags() & Qt::BypassWindowManagerHint)) { mShellSurface = mDisplay->createShellSurface(this); -- cgit v1.2.1