From f78108598211053d41752a83e0345441bb9014ae Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sun, 11 Feb 2018 16:09:52 +0000 Subject: gentoo resync : 11.02.2018 --- dev-qt/qtwayland/Manifest | 4 +- .../files/qtwayland-5.9.4-qquickwindow-crash.patch | 109 +++++++++++++++++++++ dev-qt/qtwayland/qtwayland-5.9.3.ebuild | 39 -------- dev-qt/qtwayland/qtwayland-5.9.4-r1.ebuild | 41 ++++++++ 4 files changed, 152 insertions(+), 41 deletions(-) create mode 100644 dev-qt/qtwayland/files/qtwayland-5.9.4-qquickwindow-crash.patch delete mode 100644 dev-qt/qtwayland/qtwayland-5.9.3.ebuild create mode 100644 dev-qt/qtwayland/qtwayland-5.9.4-r1.ebuild (limited to 'dev-qt/qtwayland') diff --git a/dev-qt/qtwayland/Manifest b/dev-qt/qtwayland/Manifest index d712229b342b..02a836536455 100644 --- a/dev-qt/qtwayland/Manifest +++ b/dev-qt/qtwayland/Manifest @@ -1,7 +1,7 @@ +AUX qtwayland-5.9.4-qquickwindow-crash.patch 3408 BLAKE2B c37b4bf3612509d08de1437181db18fe0c5abafbe447010ec092fe7657cf6b2536e2cb181a3741f52eb4dff30c39946602861ecf6916a9a4b6ad576aa7d24a72 SHA512 33f660550904e2811d8f2816c7e62020a342007f6ea444bd62a3560a74c1f5816a40c99df42b5923f4871b10828c8bff5155fa197db1f1cb7432ead02cd56477 DIST qtwayland-opensource-src-5.7.1.tar.xz 291776 BLAKE2B 06aba415e33ed971ef4de975e8677a52c4fcc81922f978cc1bde7e9a7ebdea32cd1c7dca59b67493bc96edfd997027f630c05c93ce31ae4ba87a55580495997a SHA512 41a6699b9048a859bb0cb1e37cd0a3977f52a5a223d4f6a4ce5e1402c5b829cc907593ce2b70f4ec24dfad147251bb2f20e889eae26072cf53e774b4585f2921 -DIST qtwayland-opensource-src-5.9.3.tar.xz 314652 BLAKE2B 56dbb8baa3642144d7021ca4361f4a574efe520f759dcc09867e4f114fc449ebd011099fb852c758c524e79539d5e6365cd3863921dc42339ba9c770586d21d7 SHA512 1deb41d3a2e081fa434167211b975019840c56cbf04c8fc18325d405818c2ecee6d65c9376f498ddacc1587455d310b815d56124d6a7734b2857399abfb3b659 DIST qtwayland-opensource-src-5.9.4.tar.xz 314932 BLAKE2B de90fb47af0d07e0b6476b84de2f51900e4e09ecd57aee800534998d3a2e733501da877f912c4b0ce671d417f543eb44bc1607225af0a134ba5702d17efae431 SHA512 93d43bdcc39fd471cdd335c0699c5e5dd77cd0bc2d15f2a1170d8ccd103d84e2c7e657575a370ac6c678b52c2b617fb2c80ce4d226264cb6c857064452f7dc10 EBUILD qtwayland-5.7.1.ebuild 623 BLAKE2B 2f60f19423ac6038c61ed09d8764cc2ec46e71edc18189eef873391cdc79aa68ad05f32716cc2deae59bf1db1228ef731e323f6df87060af67e078f14288020a SHA512 8768c4014b155e6a5918d93228c2281e4742354f706089bc94355d8eedc939d5d32471163652cc6ce640beb719516b71832100d9d5e255ee90b38a3f68edc022 -EBUILD qtwayland-5.9.3.ebuild 907 BLAKE2B 69735789f1eb7272eee9f587a110a50352480d4c221d834daa60e1c16157368ee90ee2359f7d2d69f2861d327ca0e6b71c505887f77ed27c153bfeffb61278b7 SHA512 8f36a62cdd003781b58b70214de5593afd3ddce625a53e088ca1e4d19e270bc1afb65fb669f1cdd6173079661220c05280f19ae4ac394bec825f27d656bb0a61 +EBUILD qtwayland-5.9.4-r1.ebuild 977 BLAKE2B 05a452e02b0d281a1402dc8150b718ca8aacbe8ca1c3f0bb48ba80ea8bc6ef36ff83b57161cc7d822d5a7df4bc0f71b37ef82dce6f01f0488a18c4909ad00585 SHA512 aed5848b763db50cb55d0666fc833c98940a2b44284a30d05a9cc4debcbc260bc45bfa0df6fbaabf24c23f4ef2f27fedff698492acf3bdedc0faadb85b6444cb EBUILD qtwayland-5.9.4.ebuild 907 BLAKE2B a7f254dc9571a1860f8caa6cfa15a13e8d6859116f0de5cf7cd66ad5cd6969a948445391f78dc3df927c90437235bf1cbb26bc4809a5f6faf66b6ae23f2fed41 SHA512 db097b4577f81f5354c9b07944c3a47120f93fb61cad54346114c515460390d375d7412464904b9a07a24c08edc150df9378b766ca348694182a1b6209069174 MISC metadata.xml 593 BLAKE2B a6af5855403e860ee4a4900cef3019fea4552e8c9edc02ada1de5edc467ae9a8f9d86aff6bc656c4154ddb8018c8c8599b75f92d7b766c48e05e56e37999a009 SHA512 2603bc1d30993bf0d0b94784c7dca7c2cd2d15ff5fce4ca4bbdad4b2dc65a8ab7b7bb8cf207649ca4717ca6e4caaa8c75e079db81f0598511a1355c0f325a00d diff --git a/dev-qt/qtwayland/files/qtwayland-5.9.4-qquickwindow-crash.patch b/dev-qt/qtwayland/files/qtwayland-5.9.4-qquickwindow-crash.patch new file mode 100644 index 000000000000..40f2a6dff4e0 --- /dev/null +++ b/dev-qt/qtwayland/files/qtwayland-5.9.4-qquickwindow-crash.patch @@ -0,0 +1,109 @@ +From bf09c7a1493c01a65ee0f110b37a04e653edc08e Mon Sep 17 00:00:00 2001 +From: David Edmundson +Date: Wed, 3 Jan 2018 19:18:42 +0000 +Subject: [PATCH] Don't recreate hidden egl surfaces + +QWaylandEglWindow deletes surfaces when a window changes from hidden to +visible, presumably as a result of us not having a valid wl_surface +object. By extension it doesn't make sense to create a surface whilst a +window is still hidden. + +This fixes a crash where a QQuickWindow hides and then is destroyed. In +QQuickWindow destruction we have to create a valid context in order to +delete any textures/assets owned by the scene graph; as the wl_surface +has gone this causes an error in the EGL libs when we create an EGL +surface. + +Task-number: QTBUG-65553 +Change-Id: I9b37a86326bf2cd7737c4e839c1aa8c74cf08116 +Reviewed-by: Johan Helsing +--- + .../client/wayland-egl/qwaylandglcontext.cpp | 2 +- + tests/auto/client/client/tst_client.cpp | 37 ++++++++++++++++++++++ + 2 files changed, 38 insertions(+), 1 deletion(-) + +diff --git a/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp b/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp +index 2a9e39e..f4dd6f4 100644 +--- a/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp ++++ b/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp +@@ -407,7 +407,7 @@ bool QWaylandGLContext::makeCurrent(QPlatformSurface *surface) + window->createDecoration(); + + if (eglSurface == EGL_NO_SURFACE) { +- window->updateSurface(true); ++ window->updateSurface(window->isExposed()); + eglSurface = window->eglSurface(); + } + +diff --git a/tests/auto/client/client/tst_client.cpp b/tests/auto/client/client/tst_client.cpp +index 3897bd3..aed601d 100644 +--- a/tests/auto/client/client/tst_client.cpp ++++ b/tests/auto/client/client/tst_client.cpp +@@ -35,6 +35,8 @@ + #include + #include + #include ++#include ++#include + + #include + #include +@@ -112,6 +114,25 @@ public: + QPoint mousePressPos; + }; + ++class TestGlWindow : public QOpenGLWindow ++{ ++ Q_OBJECT ++ ++public: ++ TestGlWindow(); ++ ++protected: ++ void paintGL() override; ++}; ++ ++TestGlWindow::TestGlWindow() ++{} ++ ++void TestGlWindow::paintGL() ++{ ++ glClear(GL_COLOR_BUFFER_BIT); ++} ++ + class tst_WaylandClient : public QObject + { + Q_OBJECT +@@ -149,6 +170,7 @@ private slots: + void dontCrashOnMultipleCommits(); + void hiddenTransientParent(); + void hiddenPopupParent(); ++ void glWindow(); + + private: + MockCompositor *compositor; +@@ -409,6 +431,21 @@ void tst_WaylandClient::hiddenPopupParent() + QTRY_VERIFY(compositor->surface()); + } + ++void tst_WaylandClient::glWindow() ++{ ++ QSKIP("Skipping GL tests, as not supported by all CI systems: See https://bugreports.qt.io/browse/QTBUG-65802"); ++ ++ QScopedPointer testWindow(new TestGlWindow); ++ testWindow->show(); ++ QSharedPointer surface; ++ QTRY_VERIFY(surface = compositor->surface()); ++ ++ //confirm we don't crash when we delete an already hidden GL window ++ //QTBUG-65553 ++ testWindow->setVisible(false); ++ QTRY_VERIFY(!compositor->surface()); ++} ++ + int main(int argc, char **argv) + { + setenv("XDG_RUNTIME_DIR", ".", 1); +-- +2.7.4 + diff --git a/dev-qt/qtwayland/qtwayland-5.9.3.ebuild b/dev-qt/qtwayland/qtwayland-5.9.3.ebuild deleted file mode 100644 index 43c33faf510b..000000000000 --- a/dev-qt/qtwayland/qtwayland-5.9.3.ebuild +++ /dev/null @@ -1,39 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 -inherit qt5-build - -DESCRIPTION="Wayland platform plugin for Qt" - -if [[ ${QT5_BUILD_TYPE} == release ]]; then - KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~x86" -fi - -IUSE="+libinput xcomposite" - -DEPEND=" - >=dev-libs/wayland-1.6.0 - ~dev-qt/qtcore-${PV} - ~dev-qt/qtdeclarative-${PV} - ~dev-qt/qtgui-${PV}[egl,libinput?] - media-libs/mesa[egl] - >=x11-libs/libxkbcommon-0.2.0 - xcomposite? ( - x11-libs/libX11 - x11-libs/libXcomposite - ) -" -RDEPEND="${DEPEND}" - -src_prepare() { - qt_use_disable_config libinput xkbcommon-evdev \ - src/client/client.pro \ - src/compositor/wayland_wrapper/wayland_wrapper.pri \ - src/plugins/shellintegration/ivi-shell/ivi-shell.pro \ - tests/auto/compositor/compositor/compositor.pro - - use xcomposite || rm -r config.tests/xcomposite || die - - qt5-build_src_prepare -} diff --git a/dev-qt/qtwayland/qtwayland-5.9.4-r1.ebuild b/dev-qt/qtwayland/qtwayland-5.9.4-r1.ebuild new file mode 100644 index 000000000000..16a5d921047c --- /dev/null +++ b/dev-qt/qtwayland/qtwayland-5.9.4-r1.ebuild @@ -0,0 +1,41 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +inherit qt5-build + +DESCRIPTION="Wayland platform plugin for Qt" + +if [[ ${QT5_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~x86" +fi + +IUSE="+libinput xcomposite" + +DEPEND=" + >=dev-libs/wayland-1.6.0 + ~dev-qt/qtcore-${PV} + ~dev-qt/qtdeclarative-${PV} + ~dev-qt/qtgui-${PV}[egl,libinput?] + media-libs/mesa[egl] + >=x11-libs/libxkbcommon-0.2.0 + xcomposite? ( + x11-libs/libX11 + x11-libs/libXcomposite + ) +" +RDEPEND="${DEPEND}" + +PATCHES=( "${FILESDIR}/${P}-qquickwindow-crash.patch" ) # 5.9 branch + +src_prepare() { + qt_use_disable_config libinput xkbcommon-evdev \ + src/client/client.pro \ + src/compositor/wayland_wrapper/wayland_wrapper.pri \ + src/plugins/shellintegration/ivi-shell/ivi-shell.pro \ + tests/auto/compositor/compositor/compositor.pro + + use xcomposite || rm -r config.tests/xcomposite || die + + qt5-build_src_prepare +} -- cgit v1.2.3