diff options
Diffstat (limited to 'meta-agl-profile-graphical-qt5/recipes-qt/qt5')
5 files changed, 0 insertions, 780 deletions
diff --git a/meta-agl-profile-graphical-qt5/recipes-qt/qt5/qtbase_%.bbappend b/meta-agl-profile-graphical-qt5/recipes-qt/qt5/qtbase_%.bbappend index d568b1284..e939fa35a 100644 --- a/meta-agl-profile-graphical-qt5/recipes-qt/qt5/qtbase_%.bbappend +++ b/meta-agl-profile-graphical-qt5/recipes-qt/qt5/qtbase_%.bbappend @@ -1,9 +1,5 @@ FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" -DEPENDS_append_koelsch = " libegl" -#DEPENDS_append_porter = " libegl" -DEPENDS_append_porter = " ${@base_conditional('PREFERRED_PROVIDER_virtual/egl', 'mesa', 'mesa', 'libegl', d)}" - PACKAGECONFIG_WAYLAND = "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', '', d)}" PACKAGECONFIG_GL = "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gles2', '', d)}" PACKAGECONFIG_append = " ${PACKAGECONFIG_WAYLAND} icu accessibility" diff --git a/meta-agl-profile-graphical-qt5/recipes-qt/qt5/qtwayland/0001-Implement-initial-IVI-shell-support-with-shell-integ.patch b/meta-agl-profile-graphical-qt5/recipes-qt/qt5/qtwayland/0001-Implement-initial-IVI-shell-support-with-shell-integ.patch deleted file mode 100644 index 9495dcc88..000000000 --- a/meta-agl-profile-graphical-qt5/recipes-qt/qt5/qtwayland/0001-Implement-initial-IVI-shell-support-with-shell-integ.patch +++ /dev/null @@ -1,693 +0,0 @@ -From f41ceb82b1adb1bae15d36a426bf39ea0e75cb68 Mon Sep 17 00:00:00 2001 -From: Nobuhiko Tanibata <ntanibata@jp.adit-jv.com> -Date: Thu, 5 Nov 2015 20:13:26 +0900 -Subject: [PATCH 1/2] Implement initial IVI-shell support with shell - integration. - -QApplication can set numeric surface ID to its surface by -following steps -------------------------------------------------------- -#include <QApplication> -#include <QQuickView> - -int main(int argc, char *argv[]) -{ - QGuiApplication app(argc, argv); - QQuickView view(QUrl(QStringLiteral("qrc:/main.qml"))); - - view.setProperty("IVI-Surface-ID", 8000); - view.show(); - return app.exec(); -} -------------------------------------------------------- - -If QApplication doesn't set the surface ID by itself, the ID is -automatically assigned by qtwayland from 8000. When the application creates -several surfaces, the ID is incremented like 8001,8002,,,,. - -Additionally, qtwayland now supports shell integration Framework. So -The enviromental value QT_WAYLAND_SHELL_INTEGRATION=ivi-shell are required for -Qt application. - -Signed-off-by: Nobuhiko Tanibata <ntanibata@jp.adit-jv.com> ---- - .gitignore | 6 ++ - src/3rdparty/protocol/ivi-application.xml | 99 +++++++++++++++++++ - src/client/client.pro | 3 +- - src/plugins/plugins.pro | 3 +- - .../shellintegration/ivi-shell/ivi-shell.json | 3 + - .../shellintegration/ivi-shell/ivi-shell.pro | 30 ++++++ - src/plugins/shellintegration/ivi-shell/main.cpp | 69 +++++++++++++ - .../ivi-shell/qwaylandivishellintegration.cpp | 109 +++++++++++++++++++++ - .../ivi-shell/qwaylandivishellintegration.h | 79 +++++++++++++++ - .../ivi-shell/qwaylandivisurface.cpp | 71 ++++++++++++++ - .../ivi-shell/qwaylandivisurface_p.h | 76 ++++++++++++++ - src/plugins/shellintegration/shellintegration.pro | 3 + - 12 files changed, 549 insertions(+), 2 deletions(-) - create mode 100644 src/3rdparty/protocol/ivi-application.xml - create mode 100644 src/plugins/shellintegration/ivi-shell/ivi-shell.json - create mode 100644 src/plugins/shellintegration/ivi-shell/ivi-shell.pro - create mode 100644 src/plugins/shellintegration/ivi-shell/main.cpp - create mode 100644 src/plugins/shellintegration/ivi-shell/qwaylandivishellintegration.cpp - create mode 100644 src/plugins/shellintegration/ivi-shell/qwaylandivishellintegration.h - create mode 100644 src/plugins/shellintegration/ivi-shell/qwaylandivisurface.cpp - create mode 100644 src/plugins/shellintegration/ivi-shell/qwaylandivisurface_p.h - create mode 100644 src/plugins/shellintegration/shellintegration.pro - -diff --git a/.gitignore b/.gitignore -index b33ca90..924afb2 100644 ---- a/.gitignore -+++ b/.gitignore -@@ -61,6 +61,12 @@ src/plugins/hardwareintegration/*/*/qwayland*.h - src/plugins/hardwareintegration/*/*/*-server-protocol.h - src/plugins/hardwareintegration/*/*/*-client-protocol.h - src/plugins/hardwareintegration/*/*/*-protocol.c -+src/plugins/shellintegration/ivi-shell/qwayland-ivi-application.h -+src/plugins/shellintegration/ivi-shell/qwayland-ivi-application.cpp -+src/plugins/shellintegration/ivi-shell/qwayland-ivi-controller.h -+src/plugins/shellintegration/ivi-shell/qwayland-ivi-controller.cpp -+src/plugins/shellintegration/*/*-client-protocol.h -+src/plugins/shellintegration/*/*-protocol.c - tests/auto/client/tst_client - tests/auto/compositor/tst_compositor - *~ -diff --git a/src/3rdparty/protocol/ivi-application.xml b/src/3rdparty/protocol/ivi-application.xml -new file mode 100644 -index 0000000..61ec7d2 ---- /dev/null -+++ b/src/3rdparty/protocol/ivi-application.xml -@@ -0,0 +1,99 @@ -+<?xml version="1.0" encoding="UTF-8"?> -+<protocol name="ivi_application"> -+ -+ <copyright> -+ Copyright (C) 2013 DENSO CORPORATION -+ Copyright (c) 2013 BMW Car IT GmbH -+ -+ Permission to use, copy, modify, distribute, and sell this software and -+ its documentation for any purpose is hereby granted without fee, provided -+ that the above copyright notice appear in all copies and that both that -+ copyright notice and this permission notice appear in supporting -+ documentation, and that the name of the copyright holders not be used in -+ advertising or publicity pertaining to distribution of the software -+ without specific, written prior permission. The copyright holders make -+ no representations about the suitability of this software for any -+ purpose. It is provided "as is" without express or implied warranty. -+ -+ THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS -+ SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND -+ FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY -+ SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER -+ RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF -+ CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN -+ CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -+ </copyright> -+ -+ <interface name="ivi_surface" version="1"> -+ <description summary="application interface to surface in ivi compositor"/> -+ -+ <request name="destroy" type="destructor"> -+ <description summary="destroy ivi_surface"> -+ This removes link from ivi_id to wl_surface and destroys ivi_surface. -+ The ID, ivi_id, is free and can be used for surface_create again. -+ </description> -+ </request> -+ -+ <event name="configure"> -+ <description summary="suggest resize"> -+ The configure event asks the client to resize its surface. -+ -+ The size is a hint, in the sense that the client is free to -+ ignore it if it doesn't resize, pick a smaller size (to -+ satisfy aspect ratio or resize in steps of NxM pixels). -+ -+ The client is free to dismiss all but the last configure -+ event it received. -+ -+ The width and height arguments specify the size of the window -+ in surface local coordinates. -+ </description> -+ <arg name="width" type="int"/> -+ <arg name="height" type="int"/> -+ </event> -+ </interface> -+ -+ <interface name="ivi_application" version="1"> -+ <description summary="create ivi-style surfaces"> -+ This interface is exposed as a global singleton. -+ This interface is implemented by servers that provide IVI-style user interfaces. -+ It allows clients to associate a ivi_surface with wl_surface. -+ </description> -+ -+ <enum name="error"> -+ <entry name="role" value="0" summary="given wl_surface has another role"/> -+ <entry name="ivi_id" value="1" summary="given ivi_id is assigned to another wl_surface"/> -+ </enum> -+ -+ <request name="surface_create"> -+ <description summary="create ivi_surface with numeric ID in ivi compositor"> -+ This request gives the wl_surface the role of an IVI Surface. Creating more than -+ one ivi_surface for a wl_surface is not allowed. Note, that this still allows the -+ following example: -+ -+ 1. create a wl_surface -+ 2. create ivi_surface for the wl_surface -+ 3. destroy the ivi_surface -+ 4. create ivi_surface for the wl_surface (with the same or another ivi_id as before) -+ -+ surface_create will create a interface:ivi_surface with numeric ID; ivi_id in -+ ivi compositor. These ivi_ids are defined as unique in the system to identify -+ it inside of ivi compositor. The ivi compositor implements business logic how to -+ set properties of the surface with ivi_id according to status of the system. -+ E.g. a unique ID for Car Navigation application is used for implementing special -+ logic of the application about where it shall be located. -+ The server regards following cases as protocol errors and disconnects the client. -+ - wl_surface already has an nother role. -+ - ivi_id is already assigned to an another wl_surface. -+ -+ If client destroys ivi_surface or wl_surface which is assigne to the ivi_surface, -+ ivi_id which is assigned to the ivi_surface is free for reuse. -+ </description> -+ <arg name="ivi_id" type="uint"/> -+ <arg name="surface" type="object" interface="wl_surface"/> -+ <arg name="id" type="new_id" interface="ivi_surface"/> -+ </request> -+ -+ </interface> -+ -+</protocol> -diff --git a/src/client/client.pro b/src/client/client.pro -index 0c13a4a..ca48cce 100644 ---- a/src/client/client.pro -+++ b/src/client/client.pro -@@ -6,7 +6,8 @@ MODULE=waylandclient - MODULE_PLUGIN_TYPES = \ - wayland-graphics-integration-client \ - wayland-inputdevice-integration \ -- wayland-decoration-client -+ wayland-decoration-client \ -+ wayland-shell-integration - - CONFIG += generated_privates - -diff --git a/src/plugins/plugins.pro b/src/plugins/plugins.pro -index a1a8a5b..9b66b85 100644 ---- a/src/plugins/plugins.pro -+++ b/src/plugins/plugins.pro -@@ -2,4 +2,5 @@ TEMPLATE=subdirs - SUBDIRS += \ - platforms \ - hardwareintegration \ -- decorations -+ decorations \ -+ shellintegration -diff --git a/src/plugins/shellintegration/ivi-shell/ivi-shell.json b/src/plugins/shellintegration/ivi-shell/ivi-shell.json -new file mode 100644 -index 0000000..c48528e ---- /dev/null -+++ b/src/plugins/shellintegration/ivi-shell/ivi-shell.json -@@ -0,0 +1,3 @@ -+{ -+ "Keys":[ "ivi-shell" ] -+} -diff --git a/src/plugins/shellintegration/ivi-shell/ivi-shell.pro b/src/plugins/shellintegration/ivi-shell/ivi-shell.pro -new file mode 100644 -index 0000000..ac12858 ---- /dev/null -+++ b/src/plugins/shellintegration/ivi-shell/ivi-shell.pro -@@ -0,0 +1,30 @@ -+PLUGIN_TYPE = wayland-shell-integration -+load(qt_plugin) -+ -+QT += waylandclient-private -+CONFIG += wayland-scanner -+ -+!contains(QT_CONFIG, no-pkg-config) { -+ PKGCONFIG += wayland-client wayland-cursor -+ CONFIG += link_pkgconfig -+ contains(QT_CONFIG, glib): PKGCONFIG_PRIVATE += glib-2.0 -+} else { -+ LIBS += -lwayland-client -lwayland-cursor $$QT_LIBS_GLIB -+} -+ -+WAYLANDCLIENTSOURCES += \ -+ ../../../3rdparty/protocol/ivi-application.xml -+ -+include(../../../../include/QtWaylandClient/headers.pri) -+ -+HEADERS += \ -+ qwaylandivishellintegration.h \ -+ qwaylandivisurface_p.h -+ -+SOURCES += \ -+ main.cpp \ -+ qwaylandivishellintegration.cpp \ -+ qwaylandivisurface.cpp -+ -+OTHER_FILES += \ -+ ivi-shell.json -diff --git a/src/plugins/shellintegration/ivi-shell/main.cpp b/src/plugins/shellintegration/ivi-shell/main.cpp -new file mode 100644 -index 0000000..2382ff7 ---- /dev/null -+++ b/src/plugins/shellintegration/ivi-shell/main.cpp -@@ -0,0 +1,69 @@ -+/**************************************************************************** -+** -+** Copyright (C) 2015 ITAGE Corporation, author: <yusuke.binsaki@itage.co.jp> -+** Contact: http://www.qt-project.org/legal -+** -+** This file is part of the config.tests of the Qt Toolkit. -+** -+** $QT_BEGIN_LICENSE:LGPL$ -+** Commercial License Usage -+** Licensees holding valid commercial Qt licenses may use this file in -+** accordance with the commercial license agreement provided with the -+** Software or, alternatively, in accordance with the terms contained in -+** a written agreement between you and Digia. For licensing terms and -+** conditions see http://qt.digia.com/licensing. For further information -+** use the contact form at http://qt.digia.com/contact-us. -+** -+** GNU Lesser General Public License Usage -+** Alternatively, this file may be used under the terms of the GNU Lesser -+** General Public License version 2.1 as published by the Free Software -+** Foundation and appearing in the file LICENSE.LGPL included in the -+** packaging of this file. Please review the following information to -+** ensure the GNU Lesser General Public License version 2.1 requirements -+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -+** -+** In addition, as a special exception, Digia gives you certain additional -+** rights. These rights are described in the Digia Qt LGPL Exception -+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -+** -+** GNU General Public License Usage -+** Alternatively, this file may be used under the terms of the GNU -+** General Public License version 3.0 as published by the Free Software -+** Foundation and appearing in the file LICENSE.GPL included in the -+** packaging of this file. Please review the following information to -+** ensure the GNU General Public License version 3.0 requirements will be -+** met: http://www.gnu.org/copyleft/gpl.html. -+** -+** -+** $QT_END_LICENSE$ -+** -+****************************************************************************/ -+ -+#include <QtWaylandClient/private/qwaylandshellintegrationplugin_p.h> -+#include "qwaylandivishellintegration.h" -+ -+QT_BEGIN_NAMESPACE -+ -+namespace QtWaylandClient { -+ -+class QWaylandIviShellIntegrationPlugin : public QWaylandShellIntegrationPlugin -+{ -+ Q_OBJECT -+ Q_PLUGIN_METADATA(IID QWaylandShellIntegrationFactoryInterface_iid FILE "ivi-shell.json") -+ -+public: -+ virtual QWaylandShellIntegration *create(const QString &key, const QStringList ¶mList) Q_DECL_OVERRIDE; -+}; -+ -+QWaylandShellIntegration *QWaylandIviShellIntegrationPlugin::create(const QString &key, const QStringList ¶mList) -+{ -+ Q_UNUSED(key); -+ Q_UNUSED(paramList); -+ return new QWaylandIviShellIntegration(); -+} -+ -+} -+ -+QT_END_NAMESPACE -+ -+#include "main.moc" -diff --git a/src/plugins/shellintegration/ivi-shell/qwaylandivishellintegration.cpp b/src/plugins/shellintegration/ivi-shell/qwaylandivishellintegration.cpp -new file mode 100644 -index 0000000..763fafb ---- /dev/null -+++ b/src/plugins/shellintegration/ivi-shell/qwaylandivishellintegration.cpp -@@ -0,0 +1,109 @@ -+/**************************************************************************** -+** -+** Copyright (C) 2015 ITAGE Corporation, author: <yusuke.binsaki@itage.co.jp> -+** Contact: http://www.qt-project.org/legal -+** -+** This file is part of the config.tests of the Qt Toolkit. -+** -+** $QT_BEGIN_LICENSE:LGPL$ -+** Commercial License Usage -+** Licensees holding valid commercial Qt licenses may use this file in -+** accordance with the commercial license agreement provided with the -+** Software or, alternatively, in accordance with the terms contained in -+** a written agreement between you and Digia. For licensing terms and -+** conditions see http://qt.digia.com/licensing. For further information -+** use the contact form at http://qt.digia.com/contact-us. -+** -+** GNU Lesser General Public License Usage -+** Alternatively, this file may be used under the terms of the GNU Lesser -+** General Public License version 2.1 as published by the Free Software -+** Foundation and appearing in the file LICENSE.LGPL included in the -+** packaging of this file. Please review the following information to -+** ensure the GNU Lesser General Public License version 2.1 requirements -+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -+** -+** In addition, as a special exception, Digia gives you certain additional -+** rights. These rights are described in the Digia Qt LGPL Exception -+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -+** -+** GNU General Public License Usage -+** Alternatively, this file may be used under the terms of the GNU -+** General Public License version 3.0 as published by the Free Software -+** Foundation and appearing in the file LICENSE.GPL included in the -+** packaging of this file. Please review the following information to -+** ensure the GNU General Public License version 3.0 requirements will be -+** met: http://www.gnu.org/copyleft/gpl.html. -+** -+** -+** $QT_END_LICENSE$ -+** -+****************************************************************************/ -+ -+#include <sys/types.h> -+#include <unistd.h> -+#include <stdint.h> -+#include <stdlib.h> -+ -+#include <QtWaylandClient/private/qwayland-wayland.h> -+#include <QtWaylandClient/private/qwaylanddisplay_p.h> -+#include <QtWaylandClient/private/qwaylandwindow_p.h> -+#include <QtWaylandClient/private/qwaylandabstractdecoration_p.h> -+#include "qwaylandivishellintegration.h" -+#include "qwaylandivisurface_p.h" -+#include "qwayland-ivi-application.h" -+ -+QT_BEGIN_NAMESPACE -+ -+namespace QtWaylandClient { -+ -+QWaylandIviShellIntegration::QWaylandIviShellIntegration() -+ : m_iviApplication(Q_NULLPTR) -+{ -+} -+ -+QWaylandIviShellIntegration::~QWaylandIviShellIntegration() -+{ -+ delete m_iviApplication; -+} -+ -+bool QWaylandIviShellIntegration::initialize(QWaylandDisplay *display) -+{ -+ display->addRegistryListener(registryIvi, this); -+ -+ return true; -+} -+ -+QWaylandShellSurface *QWaylandIviShellIntegration::createShellSurface(QWaylandWindow *window) -+{ -+ const int IVI_SURFACE_ID = 8000; -+ if (!m_iviApplication) -+ return Q_NULLPTR; -+ -+ uint32_t id = 0; -+ QVariant value = window->property("IVI-Surface-ID"); -+ if (value.isValid()) { -+ id = value.toUInt(); -+ } else { -+ id = IVI_SURFACE_ID + getpid(); -+ } -+ -+ struct ivi_surface *surface = m_iviApplication->surface_create(id, window->object()); -+ -+ return new QWaylandIviSurface(surface, window); -+} -+ -+void QWaylandIviShellIntegration::registryIvi(void *data, -+ struct wl_registry *registry, -+ uint32_t id, -+ const QString &interface, -+ uint32_t version) -+{ -+ QWaylandIviShellIntegration *shell = static_cast<QWaylandIviShellIntegration *>(data); -+ -+ if (interface == QStringLiteral("ivi_application")) -+ shell->m_iviApplication = new QtWayland::ivi_application(registry, id, version); -+} -+ -+} -+ -+QT_END_NAMESPACE -diff --git a/src/plugins/shellintegration/ivi-shell/qwaylandivishellintegration.h b/src/plugins/shellintegration/ivi-shell/qwaylandivishellintegration.h -new file mode 100644 -index 0000000..4856ec6 ---- /dev/null -+++ b/src/plugins/shellintegration/ivi-shell/qwaylandivishellintegration.h -@@ -0,0 +1,79 @@ -+/**************************************************************************** -+** -+** Copyright (C) 2015 ITAGE Corporation, author: <yusuke.binsaki@itage.co.jp> -+** Contact: http://www.qt-project.org/legal -+** -+** This file is part of the config.tests of the Qt Toolkit. -+** -+** $QT_BEGIN_LICENSE:LGPL$ -+** Commercial License Usage -+** Licensees holding valid commercial Qt licenses may use this file in -+** accordance with the commercial license agreement provided with the -+** Software or, alternatively, in accordance with the terms contained in -+** a written agreement between you and Digia. For licensing terms and -+** conditions see http://qt.digia.com/licensing. For further information -+** use the contact form at http://qt.digia.com/contact-us. -+** -+** GNU Lesser General Public License Usage -+** Alternatively, this file may be used under the terms of the GNU Lesser -+** General Public License version 2.1 as published by the Free Software -+** Foundation and appearing in the file LICENSE.LGPL included in the -+** packaging of this file. Please review the following information to -+** ensure the GNU Lesser General Public License version 2.1 requirements -+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -+** -+** In addition, as a special exception, Digia gives you certain additional -+** rights. These rights are described in the Digia Qt LGPL Exception -+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -+** -+** GNU General Public License Usage -+** Alternatively, this file may be used under the terms of the GNU -+** General Public License version 3.0 as published by the Free Software -+** Foundation and appearing in the file LICENSE.GPL included in the -+** packaging of this file. Please review the following information to -+** ensure the GNU General Public License version 3.0 requirements will be -+** met: http://www.gnu.org/copyleft/gpl.html. -+** -+** -+** $QT_END_LICENSE$ -+** -+****************************************************************************/ -+ -+#ifndef QWAYLANDIVIINTEGRATION_H -+#define QWAYLANDIVIINTEGRATION_H -+ -+#include <QtWaylandClient/private/qwaylandshellintegration_p.h> -+ -+QT_BEGIN_NAMESPACE -+ -+namespace QtWayland { -+ struct wl_registry; -+ class ivi_application; -+} -+ -+namespace QtWaylandClient { -+ -+class QWaylandWindow; -+class QWaylandDisplay; -+ -+class Q_WAYLAND_CLIENT_EXPORT QWaylandIviShellIntegration : public QWaylandShellIntegration -+{ -+public: -+ QWaylandIviShellIntegration(); -+ ~QWaylandIviShellIntegration(); -+ bool initialize(QWaylandDisplay *display); -+ QWaylandShellSurface *createShellSurface(QWaylandWindow *window); -+ -+private: -+ static void registryIvi(void *data, struct wl_registry *registry -+ , uint32_t id, const QString &interface, uint32_t version); -+ -+private: -+ QtWayland::ivi_application *m_iviApplication; -+}; -+ -+} -+ -+QT_END_NAMESPACE -+ -+#endif // QWAYLANDIVIINTEGRATION_H -diff --git a/src/plugins/shellintegration/ivi-shell/qwaylandivisurface.cpp b/src/plugins/shellintegration/ivi-shell/qwaylandivisurface.cpp -new file mode 100644 -index 0000000..3ce3b4e ---- /dev/null -+++ b/src/plugins/shellintegration/ivi-shell/qwaylandivisurface.cpp -@@ -0,0 +1,71 @@ -+/**************************************************************************** -+** -+** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -+** Contact: http://www.qt-project.org/legal -+** -+** This file is part of the config.tests of the Qt Toolkit. -+** -+** $QT_BEGIN_LICENSE:LGPL$ -+** Commercial License Usage -+** Licensees holding valid commercial Qt licenses may use this file in -+** accordance with the commercial license agreement provided with the -+** Software or, alternatively, in accordance with the terms contained in -+** a written agreement between you and Digia. For licensing terms and -+** conditions see http://qt.digia.com/licensing. For further information -+** use the contact form at http://qt.digia.com/contact-us. -+** -+** GNU Lesser General Public License Usage -+** Alternatively, this file may be used under the terms of the GNU Lesser -+** General Public License version 2.1 as published by the Free Software -+** Foundation and appearing in the file LICENSE.LGPL included in the -+** packaging of this file. Please review the following information to -+** ensure the GNU Lesser General Public License version 2.1 requirements -+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -+** -+** In addition, as a special exception, Digia gives you certain additional -+** rights. These rights are described in the Digia Qt LGPL Exception -+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -+** -+** GNU General Public License Usage -+** Alternatively, this file may be used under the terms of the GNU -+** General Public License version 3.0 as published by the Free Software -+** Foundation and appearing in the file LICENSE.GPL included in the -+** packaging of this file. Please review the following information to -+** ensure the GNU General Public License version 3.0 requirements will be -+** met: http://www.gnu.org/copyleft/gpl.html. -+** -+** -+** $QT_END_LICENSE$ -+** -+****************************************************************************/ -+ -+#include <QtWaylandClient/private/qwaylanddisplay_p.h> -+#include <QtWaylandClient/private/qwaylandwindow_p.h> -+#include <QtWaylandClient/private/qwaylandinputdevice_p.h> -+#include <QtWaylandClient/private/qwaylandscreen_p.h> -+#include "qwaylandivisurface_p.h" -+ -+QT_BEGIN_NAMESPACE -+ -+namespace QtWaylandClient { -+ -+QWaylandIviSurface::QWaylandIviSurface(struct ::ivi_surface *ivi_surface, QWaylandWindow *window) -+ : QtWayland::ivi_surface(ivi_surface) -+ , QWaylandShellSurface(window) -+ , m_window(window) -+{ -+} -+ -+QWaylandIviSurface::~QWaylandIviSurface() -+{ -+ ivi_surface::destroy(); -+} -+ -+void QWaylandIviSurface::ivi_surface_configure(int32_t width, int32_t height) -+{ -+ this->m_window->configure(0, width, height); -+} -+ -+} -+ -+QT_END_NAMESPACE -diff --git a/src/plugins/shellintegration/ivi-shell/qwaylandivisurface_p.h b/src/plugins/shellintegration/ivi-shell/qwaylandivisurface_p.h -new file mode 100644 -index 0000000..d8331c5 ---- /dev/null -+++ b/src/plugins/shellintegration/ivi-shell/qwaylandivisurface_p.h -@@ -0,0 +1,76 @@ -+/**************************************************************************** -+** -+** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -+** Contact: http://www.qt-project.org/legal -+** -+** This file is part of the config.tests of the Qt Toolkit. -+** -+** $QT_BEGIN_LICENSE:LGPL$ -+** Commercial License Usage -+** Licensees holding valid commercial Qt licenses may use this file in -+** accordance with the commercial license agreement provided with the -+** Software or, alternatively, in accordance with the terms contained in -+** a written agreement between you and Digia. For licensing terms and -+** conditions see http://qt.digia.com/licensing. For further information -+** use the contact form at http://qt.digia.com/contact-us. -+** -+** GNU Lesser General Public License Usage -+** Alternatively, this file may be used under the terms of the GNU Lesser -+** General Public License version 2.1 as published by the Free Software -+** Foundation and appearing in the file LICENSE.LGPL included in the -+** packaging of this file. Please review the following information to -+** ensure the GNU Lesser General Public License version 2.1 requirements -+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -+** -+** In addition, as a special exception, Digia gives you certain additional -+** rights. These rights are described in the Digia Qt LGPL Exception -+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -+** -+** GNU General Public License Usage -+** Alternatively, this file may be used under the terms of the GNU -+** General Public License version 3.0 as published by the Free Software -+** Foundation and appearing in the file LICENSE.GPL included in the -+** packaging of this file. Please review the following information to -+** ensure the GNU General Public License version 3.0 requirements will be -+** met: http://www.gnu.org/copyleft/gpl.html. -+** -+** -+** $QT_END_LICENSE$ -+** -+****************************************************************************/ -+ -+#ifndef QWAYLANDIVISURFACE_H -+#define QWAYLANDIVISURFACE_H -+ -+#include <wayland-client.h> -+ -+#include <QtWaylandClient/private/qwaylandclientexport_p.h> -+#include <QtWaylandClient/private/qwaylandshellsurface_p.h> -+#include "qwayland-ivi-application.h" -+ -+QT_BEGIN_NAMESPACE -+ -+namespace QtWaylandClient { -+ -+class QWaylandWindow; -+ -+class Q_WAYLAND_CLIENT_EXPORT QWaylandIviSurface : public QtWayland::ivi_surface -+ , public QWaylandShellSurface -+{ -+public: -+ QWaylandIviSurface(struct ::ivi_surface *shell_surface, QWaylandWindow *window); -+ virtual ~QWaylandIviSurface(); -+ -+private: -+ virtual void ivi_surface_configure(int32_t width, int32_t height); -+ -+ QWaylandWindow *m_window; -+ -+ friend class QWaylandWindow; -+}; -+ -+} -+ -+QT_END_NAMESPACE -+ -+#endif // QWAYLANDIVISURFACE_H -diff --git a/src/plugins/shellintegration/shellintegration.pro b/src/plugins/shellintegration/shellintegration.pro -new file mode 100644 -index 0000000..7abd6cc ---- /dev/null -+++ b/src/plugins/shellintegration/shellintegration.pro -@@ -0,0 +1,3 @@ -+TEMPLATE=subdirs -+ -+SUBDIRS += ivi-shell --- -1.8.3.1 diff --git a/meta-agl-profile-graphical-qt5/recipes-qt/qt5/qtwayland/0002-Fix-multiple-QWindow.patch b/meta-agl-profile-graphical-qt5/recipes-qt/qt5/qtwayland/0002-Fix-multiple-QWindow.patch deleted file mode 100644 index 177710516..000000000 --- a/meta-agl-profile-graphical-qt5/recipes-qt/qt5/qtwayland/0002-Fix-multiple-QWindow.patch +++ /dev/null @@ -1,62 +0,0 @@ -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 diff --git a/meta-agl-profile-graphical-qt5/recipes-qt/qt5/qtwayland/disable_xcomposite_egl_qt_wayland_client_buffer_integration.patch b/meta-agl-profile-graphical-qt5/recipes-qt/qt5/qtwayland/disable_xcomposite_egl_qt_wayland_client_buffer_integration.patch deleted file mode 100644 index f113266e4..000000000 --- a/meta-agl-profile-graphical-qt5/recipes-qt/qt5/qtwayland/disable_xcomposite_egl_qt_wayland_client_buffer_integration.patch +++ /dev/null @@ -1,12 +0,0 @@ -Index: git/qtwayland.pro -=================================================================== ---- git.orig/qtwayland.pro 2014-09-18 12:01:23.883582734 +0300 -+++ git/qtwayland.pro 2014-09-18 12:05:49.743574961 +0300 -@@ -7,7 +7,6 @@ - qtCompileTest(egl) - qtCompileTest(brcm_egl) - qtCompileTest(glx) --qtCompileTest(xcomposite) - qtCompileTest(drm_egl_server) - - load(qt_parts) diff --git a/meta-agl-profile-graphical-qt5/recipes-qt/qt5/qtwayland_%.bbappend b/meta-agl-profile-graphical-qt5/recipes-qt/qt5/qtwayland_%.bbappend index 9807840ca..33874cf44 100644 --- a/meta-agl-profile-graphical-qt5/recipes-qt/qt5/qtwayland_%.bbappend +++ b/meta-agl-profile-graphical-qt5/recipes-qt/qt5/qtwayland_%.bbappend @@ -23,14 +23,5 @@ FILESEXTRAPATHS_append := ":${THISDIR}/${PN}" SRC_URI_append = "\ file://0010-Added-manifest-file-according-to-smack-3-domain-mode.patch \ " -SRC_URI_append_checkforkrogoth = "\ - file://disable_xcomposite_egl_qt_wayland_client_buffer_integration.patch \ - file://0001-Implement-initial-IVI-shell-support-with-shell-integ.patch \ - file://0002-Fix-multiple-QWindow.patch \ - " - - -DEPENDS_append_koelsch = " libegl gles-user-module" -DEPENDS_append_porter = " ${@base_conditional('PREFERRED_PROVIDER_virtual/egl', 'mesa', 'mesa', 'libegl gles-user-module', d)}" SRC_URI_append = " file://0099_qtwayland_no_evdev.patch " |