1 From 23534d35587a8b62c945fef1adb29109e5c01bfa Mon Sep 17 00:00:00 2001
2 From: Nobuhiko Tanibata <ntanibata@jp.adit-jv.com>
3 Date: Fri, 6 Nov 2015 09:59:48 +0900
4 Subject: [PATCH 2/2] Fix multiple QWindow
6 Signed-off-by: Nobuhiko Tanibata <ntanibata@jp.adit-jv.com>
8 .../ivi-shell/qwaylandivishellintegration.cpp | 16 ++++++++++------
9 .../ivi-shell/qwaylandivishellintegration.h | 1 +
10 2 files changed, 11 insertions(+), 6 deletions(-)
12 diff --git a/src/plugins/shellintegration/ivi-shell/qwaylandivishellintegration.cpp b/src/plugins/shellintegration/ivi-shell/qwaylandivishellintegration.cpp
13 index 763fafb..c42f283 100644
14 --- a/src/plugins/shellintegration/ivi-shell/qwaylandivishellintegration.cpp
15 +++ b/src/plugins/shellintegration/ivi-shell/qwaylandivishellintegration.cpp
16 @@ -58,6 +58,7 @@ namespace QtWaylandClient {
18 QWaylandIviShellIntegration::QWaylandIviShellIntegration()
19 : m_iviApplication(Q_NULLPTR)
24 @@ -79,15 +80,18 @@ QWaylandShellSurface *QWaylandIviShellIntegration::createShellSurface(QWaylandWi
25 if (!m_iviApplication)
29 - QVariant value = window->property("IVI-Surface-ID");
30 - if (value.isValid()) {
31 - id = value.toUInt();
32 + if (m_surfaceId == 0) {
33 + QVariant value = window->property("IVI-Surface-ID");
34 + if (value.isValid()) {
35 + m_surfaceId = value.toUInt();
37 + m_surfaceId = IVI_SURFACE_ID + getpid();
40 - id = IVI_SURFACE_ID + getpid();
44 - struct ivi_surface *surface = m_iviApplication->surface_create(id, window->object());
45 + struct ivi_surface *surface = m_iviApplication->surface_create(m_surfaceId, window->object());
47 return new QWaylandIviSurface(surface, window);
49 diff --git a/src/plugins/shellintegration/ivi-shell/qwaylandivishellintegration.h b/src/plugins/shellintegration/ivi-shell/qwaylandivishellintegration.h
50 index 4856ec6..1d10e91 100644
51 --- a/src/plugins/shellintegration/ivi-shell/qwaylandivishellintegration.h
52 +++ b/src/plugins/shellintegration/ivi-shell/qwaylandivishellintegration.h
53 @@ -70,6 +70,7 @@ private:
56 QtWayland::ivi_application *m_iviApplication;
57 + uint32_t m_surfaceId;