[arch-commits] Commit in qt5-wayland/repos/extra-x86_64 (3 files)

Antonio Rojas arojas at archlinux.org
Thu Feb 22 12:54:10 UTC 2018


    Date: Thursday, February 22, 2018 @ 12:54:09
  Author: arojas
Revision: 317392

archrelease: copy trunk to extra-x86_64

Added:
  qt5-wayland/repos/extra-x86_64/PKGBUILD
    (from rev 317391, qt5-wayland/trunk/PKGBUILD)
  qt5-wayland/repos/extra-x86_64/qtbug-62044.patch
    (from rev 317391, qt5-wayland/trunk/qtbug-62044.patch)
Deleted:
  qt5-wayland/repos/extra-x86_64/PKGBUILD

-------------------+
 PKGBUILD          |   95 ++++++++++++++++++++++++++--------------------------
 qtbug-62044.patch |   50 +++++++++++++++++++++++++++
 2 files changed, 99 insertions(+), 46 deletions(-)

Deleted: PKGBUILD
===================================================================
--- PKGBUILD	2018-02-22 12:53:35 UTC (rev 317391)
+++ PKGBUILD	2018-02-22 12:54:09 UTC (rev 317392)
@@ -1,46 +0,0 @@
-# $Id: PKGBUILD 240297 2015-06-03 10:22:03Z fyan $
-# Maintainer: Felix Yan <felixonmars at archlinux.org>
-# Contributor: Andrea Scarpino <andrea at archlinux.org>
-
-pkgname=qt5-wayland
-_qtver=5.10.1
-pkgver=${_qtver/-/}
-pkgrel=1
-arch=('x86_64')
-url='http://qt-project.org/'
-license=('GPL3' 'LGPL3' 'FDL' 'custom')
-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://github.com/qt/qtwayland/commit/57c4af2b.patch")
-sha256sums=('f5a7643a5ebcdc50d02b293191e675f387f67dc360c27bf6f94345372fba6356'
-            '401debccda18236869d601883e1ea9c0d0a541ea12656e43ef9e7d53b835dd92')
-
-prepare() {
-  mkdir -p build
-
-  cd $_pkgfqn
-  patch -p1 -i ../qtwayland-key-compose.patch # Backport key composition support
-}
-
-build() {
-  cd build
-
-  qmake ../${_pkgfqn}
-  make
-}
-
-package() {
-  cd build
-
-  make INSTALL_ROOT="$pkgdir" install
-
-  # Drop QMAKE_PRL_BUILD_DIR because reference the build dir
-  find "$pkgdir/usr/lib" -type f -name '*.prl' \
-    -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;
-
-  install -d "$pkgdir"/usr/share/licenses
-  ln -s /usr/share/licenses/qt5-base "$pkgdir"/usr/share/licenses/${pkgname}
-}

Copied: qt5-wayland/repos/extra-x86_64/PKGBUILD (from rev 317391, qt5-wayland/trunk/PKGBUILD)
===================================================================
--- PKGBUILD	                        (rev 0)
+++ PKGBUILD	2018-02-22 12:54:09 UTC (rev 317392)
@@ -0,0 +1,49 @@
+# $Id: PKGBUILD 240297 2015-06-03 10:22:03Z fyan $
+# Maintainer: Felix Yan <felixonmars at archlinux.org>
+# Contributor: Andrea Scarpino <andrea at archlinux.org>
+
+pkgname=qt5-wayland
+_qtver=5.10.1
+pkgver=${_qtver/-/}
+pkgrel=2
+arch=('x86_64')
+url='http://qt-project.org/'
+license=('GPL3' 'LGPL3' 'FDL' 'custom')
+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://github.com/qt/qtwayland/commit/57c4af2b.patch"
+        qtbug-62044.patch)
+sha256sums=('f5a7643a5ebcdc50d02b293191e675f387f67dc360c27bf6f94345372fba6356'
+            '401debccda18236869d601883e1ea9c0d0a541ea12656e43ef9e7d53b835dd92'
+            '4b0ac091873b7a2b156ed2af4b2e32ecb22bfb99618f1ae76e9b72670933c3dd')
+
+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
+}
+
+build() {
+  cd build
+
+  qmake ../${_pkgfqn}
+  make
+}
+
+package() {
+  cd build
+
+  make INSTALL_ROOT="$pkgdir" install
+
+  # Drop QMAKE_PRL_BUILD_DIR because reference the build dir
+  find "$pkgdir/usr/lib" -type f -name '*.prl' \
+    -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;
+
+  install -d "$pkgdir"/usr/share/licenses
+  ln -s /usr/share/licenses/qt5-base "$pkgdir"/usr/share/licenses/${pkgname}
+}

Copied: qt5-wayland/repos/extra-x86_64/qtbug-62044.patch (from rev 317391, qt5-wayland/trunk/qtbug-62044.patch)
===================================================================
--- qtbug-62044.patch	                        (rev 0)
+++ qtbug-62044.patch	2018-02-22 12:54:09 UTC (rev 317392)
@@ -0,0 +1,50 @@
+From fd9fec4fc7f43fb939e8e5a946c7858390bbd9d3 Mon Sep 17 00:00:00 2001
+From: Johan Klokkhammer Helsing <johan.helsing at 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 at kde.org>
+Reviewed-by: Aleix Pol
+Reviewed-by: Paul Olav Tvete <paul.tvete at 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;
+ }
+ 



More information about the arch-commits mailing list