author | Antonio Rojas
<arojas@archlinux.org> 2018-05-22 08:34:59 UTC |
committer | Antonio Rojas
<arojas@archlinux.org> 2018-05-22 08:34:59 UTC |
parent | 68cd174442444f48e2a8b5be3dc19673ab9f862d |
PKGBUILD | +4 | -22 |
qtbug-62044.patch | +0 | -50 |
diff --git a/PKGBUILD b/PKGBUILD index ed7cad9..0e51aa3 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -3,9 +3,9 @@ # Contributor: Andrea Scarpino <andrea@archlinux.org> pkgname=qt5-wayland -_qtver=5.10.1 +_qtver=5.11.0 pkgver=${_qtver/-/} -pkgrel=3 +pkgrel=1 arch=('x86_64') url='http://qt-project.org/' license=('GPL3' 'LGPL3' 'FDL' 'custom') @@ -13,29 +13,11 @@ pkgdesc='Provides APIs for Wayland' depends=('qt5-declarative' 'libxcomposite' 'wayland') # namcap note: wayland is needed for nvidia-libgl users groups=('qt' 'qt5') _pkgfqn="${pkgname/5-/}-everywhere-src-${_qtver}" -source=("http://download.qt.io/official_releases/qt/${pkgver%.*}/${_qtver}/submodules/${_pkgfqn}.tar.xz" - qtwayland-key-compose.patch::"https://code.qt.io/cgit/qt/qtwayland.git/patch/?id=57c4af2b" - qtbug-62044.patch - qtbug-67150.patch::"https://code.qt.io/cgit/qt/qtwayland.git/patch/?id=26a6372b" - qtbug-66867.patch::"https://code.qt.io/cgit/qt/qtwayland.git/patch/?id=e283cc05" - qtwayland-context-create.patch::"https://code.qt.io/cgit/qt/qtwayland.git/patch/?id=7ce033cb") -sha256sums=('f5a7643a5ebcdc50d02b293191e675f387f67dc360c27bf6f94345372fba6356' - 'a96b50265791b0d6288deacde3bf75cd4aaf0429412f89190c787793d4a98901' - '4b0ac091873b7a2b156ed2af4b2e32ecb22bfb99618f1ae76e9b72670933c3dd' - '88aef190da6b99641bd9d039902d6d4b5a007b9920535694ee48884d9f7a554f' - '223c5d752e0e0edc36492dc5e4e4ae5b65c61ec30ce499c044c2e99ac31c6e6f' - '2717e699701232164447ce73c482f79cdcb7c11ea22cfee1aeb210f106d91c38') +source=("http://download.qt.io/official_releases/qt/${pkgver%.*}/${_qtver}/submodules/${_pkgfqn}.tar.xz") +sha256sums=('68814e8f207f3a90cae29ae49ce2c1f4bf9d06709a7a7962adf23120f1644127') prepare() { mkdir -p build - - cd $_pkgfqn - patch -p1 -i ../qtwayland-key-compose.patch # Backport key composition support - patch -p1 -i ../qtbug-62044.patch # Fix crash when connecting a new screen -# Backport some crash fixes - patch -p1 -i ../qtbug-67150.patch - patch -p1 -i ../qtbug-66867.patch - patch -p1 -i ../qtwayland-context-create.patch } build() { diff --git a/qtbug-62044.patch b/qtbug-62044.patch deleted file mode 100644 index caf3f74..0000000 --- a/qtbug-62044.patch +++ /dev/null @@ -1,50 +0,0 @@ -From fd9fec4fc7f43fb939e8e5a946c7858390bbd9d3 Mon Sep 17 00:00:00 2001 -From: Johan Klokkhammer Helsing <johan.helsing@qt.io> -Date: Thu, 8 Feb 2018 16:53:39 +0100 -Subject: [PATCH] Fix crash when connecting a new screen - -In QWaylandWindow::virtualSiblings, don't include screens that have not been -added yet. I.e. QWaylandScreens for which QPlatformIntegration::screenAdded has -not yet been called. - -There are two reasons why this crash wasn't covered by the -removePrimaryScreen() test. First of all, the mock output didn't send -wl_output.done events when updating the mode/geometry. These wayland events are -what causes QWindowSystemInterface::handleScreenGeometryChange() to be called -(where virtualSiblings are called). - -Furthermore, virtualSiblings is only called when the geometry actually changes, -so add a new test that changes the screen geometry of the existing screen while -a new one is being added (i.e. moves it to the right). - -Task-number: QTBUG-62044 -Change-Id: I623fbf8799d21c6b9293e7120ded301277639cc6 -Reviewed-by: David Edmundson <davidedmundson@kde.org> -Reviewed-by: Aleix Pol -Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io> ---- - src/client/qwaylandscreen.cpp | 6 ++++-- - tests/auto/client/client/tst_client.cpp | 25 +++++++++++++++++++++++++ - tests/auto/client/shared/mockcompositor.cpp | 8 ++++++++ - tests/auto/client/shared/mockcompositor.h | 2 ++ - tests/auto/client/shared/mockoutput.cpp | 27 +++++++++++++++++++++++++-- - tests/auto/client/shared/mockoutput.h | 1 + - 6 files changed, 65 insertions(+), 4 deletions(-) - -diff --git a/src/client/qwaylandscreen.cpp b/src/client/qwaylandscreen.cpp -index fba75557..1c9ce23b 100644 ---- a/src/client/qwaylandscreen.cpp -+++ b/src/client/qwaylandscreen.cpp -@@ -138,8 +138,10 @@ QList<QPlatformScreen *> QWaylandScreen::virtualSiblings() const - QList<QPlatformScreen *> list; - const QList<QWaylandScreen*> screens = mWaylandDisplay->screens(); - list.reserve(screens.count()); -- foreach (QWaylandScreen *screen, screens) -- list << screen; -+ for (QWaylandScreen *screen : qAsConst(screens)) { -+ if (screen->screen()) -+ list << screen; -+ } - return list; - } -