diff options
author | Jan-Simon Möller <jsmoeller@linuxfoundation.org> | 2018-04-24 15:13:18 +0200 |
---|---|---|
committer | Jan-Simon Möller <jsmoeller@linuxfoundation.org> | 2018-04-28 00:28:55 +0200 |
commit | 4ac99c3a1447119363935fb986f5d9c05f032362 (patch) | |
tree | d4fdce1f65606af5111e6e4d5d21b198de9f2bf2 /meta-agl-profile-demo/recipes-qt/qt5/qtwayland/0002-Fix-multiple-QWindow.patch | |
parent | bb0882c5dad030f676e424265ebcd869bb3ff899 (diff) |
2nd part of the layer/profile rework [1/2]
Main goal of this is to move the agl-service-* bindings into the core and to
unify common recipes like wayland/weston into meta-agl-profile-graphical.
As a placeholder for recipes is meta-agl-profile-demo which are being reshuffled.
TLDR: agl-service move to meta-agl-profile-core. wayland/weston moves to meta-agl-profile-graphical.
This patchset needs the 2nd patchset of the series to build (meta-agl-demo).
Bug-AGL: SPEC-145 , SPEC-876 , SPEC-877
v2: rebase including udiscs patches from meta-agl-demo
Change-Id: I5e33f72d01707fa8b826d382bccaca3addcbbc47
Signed-off-by: Jan-Simon Möller <jsmoeller@linuxfoundation.org>
Diffstat (limited to 'meta-agl-profile-demo/recipes-qt/qt5/qtwayland/0002-Fix-multiple-QWindow.patch')
-rw-r--r-- | meta-agl-profile-demo/recipes-qt/qt5/qtwayland/0002-Fix-multiple-QWindow.patch | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/meta-agl-profile-demo/recipes-qt/qt5/qtwayland/0002-Fix-multiple-QWindow.patch b/meta-agl-profile-demo/recipes-qt/qt5/qtwayland/0002-Fix-multiple-QWindow.patch new file mode 100644 index 000000000..177710516 --- /dev/null +++ b/meta-agl-profile-demo/recipes-qt/qt5/qtwayland/0002-Fix-multiple-QWindow.patch @@ -0,0 +1,62 @@ +From 23534d35587a8b62c945fef1adb29109e5c01bfa Mon Sep 17 00:00:00 2001 +From: Nobuhiko Tanibata <ntanibata@jp.adit-jv.com> +Date: Fri, 6 Nov 2015 09:59:48 +0900 +Subject: [PATCH 2/2] Fix multiple QWindow + +Signed-off-by: Nobuhiko Tanibata <ntanibata@jp.adit-jv.com> +--- + .../ivi-shell/qwaylandivishellintegration.cpp | 16 ++++++++++------ + .../ivi-shell/qwaylandivishellintegration.h | 1 + + 2 files changed, 11 insertions(+), 6 deletions(-) + +diff --git a/src/plugins/shellintegration/ivi-shell/qwaylandivishellintegration.cpp b/src/plugins/shellintegration/ivi-shell/qwaylandivishellintegration.cpp +index 763fafb..c42f283 100644 +--- a/src/plugins/shellintegration/ivi-shell/qwaylandivishellintegration.cpp ++++ b/src/plugins/shellintegration/ivi-shell/qwaylandivishellintegration.cpp +@@ -58,6 +58,7 @@ namespace QtWaylandClient { + + QWaylandIviShellIntegration::QWaylandIviShellIntegration() + : m_iviApplication(Q_NULLPTR) ++ , m_surfaceId(0) + { + } + +@@ -79,15 +80,18 @@ QWaylandShellSurface *QWaylandIviShellIntegration::createShellSurface(QWaylandWi + if (!m_iviApplication) + return Q_NULLPTR; + +- uint32_t id = 0; +- QVariant value = window->property("IVI-Surface-ID"); +- if (value.isValid()) { +- id = value.toUInt(); ++ if (m_surfaceId == 0) { ++ QVariant value = window->property("IVI-Surface-ID"); ++ if (value.isValid()) { ++ m_surfaceId = value.toUInt(); ++ } else { ++ m_surfaceId = IVI_SURFACE_ID + getpid(); ++ } + } else { +- id = IVI_SURFACE_ID + getpid(); ++ m_surfaceId++; + } + +- struct ivi_surface *surface = m_iviApplication->surface_create(id, window->object()); ++ struct ivi_surface *surface = m_iviApplication->surface_create(m_surfaceId, window->object()); + + return new QWaylandIviSurface(surface, window); + } +diff --git a/src/plugins/shellintegration/ivi-shell/qwaylandivishellintegration.h b/src/plugins/shellintegration/ivi-shell/qwaylandivishellintegration.h +index 4856ec6..1d10e91 100644 +--- a/src/plugins/shellintegration/ivi-shell/qwaylandivishellintegration.h ++++ b/src/plugins/shellintegration/ivi-shell/qwaylandivishellintegration.h +@@ -70,6 +70,7 @@ private: + + private: + QtWayland::ivi_application *m_iviApplication; ++ uint32_t m_surfaceId; + }; + + } +-- +1.8.3.1 |