From 48ff22fbd0e19e3f56412bb7a0d3354d7e06cacb Mon Sep 17 00:00:00 2001
From: obarun <eric@obarun.org>
Date: Mon, 12 Nov 2018 21:20:08 +1100
Subject: [PATCH] upgpkg : 5.11.2-4

---
 PKGBUILD               | 10 +++++---
 qt5-base-stutter.patch | 54 ++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 61 insertions(+), 3 deletions(-)
 create mode 100644 qt5-base-stutter.patch

diff --git a/PKGBUILD b/PKGBUILD
index bb50b3e..8f259fc 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -7,7 +7,7 @@ pkgbase=qt5-base
 pkgname=(qt5-base qt5-xcb-private-headers)
 _qtver=5.11.2
 pkgver=${_qtver/-/}
-pkgrel=3
+pkgrel=4
 arch=(x86_64)
 url='http://qt-project.org/'
 license=('GPL3' 'LGPL3' 'FDL' 'custom')
@@ -27,8 +27,10 @@ optdepends=('qt5-svg: to use SVG icon themes'
 conflicts=('qtchooser')
 groups=('qt' 'qt5')
 _pkgfqn="${pkgbase/5-/}-everywhere-src-${_qtver}"
-source=("http://download.qt.io/official_releases/qt/${pkgver%.*}/${_qtver}/submodules/${_pkgfqn}.tar.xz")
-sha256sums=('6381e7c3468d5a1dcfe3683b29eeced192faa0f8a32434fec071a59b8bcd0107')
+source=("http://download.qt.io/official_releases/qt/${pkgver%.*}/${_qtver}/submodules/${_pkgfqn}.tar.xz"
+		qt5-base-stutter.patch::"http://code.qt.io/cgit/qt/qtbase.git/patch/?id=d4e937a6")
+sha256sums=('6381e7c3468d5a1dcfe3683b29eeced192faa0f8a32434fec071a59b8bcd0107'
+            '8af697a9bcc3e30dc4465d2b44829553dc48dd29e34c35a885e7f3f65d017d3f')
 
 prepare() {
   cd ${_pkgfqn}
@@ -39,6 +41,8 @@ prepare() {
     mkspecs/common/gcc-base.conf
   sed -i -e "s|^\(QMAKE_LFLAGS_RELEASE.*\)|\1 ${LDFLAGS}|" \
     mkspecs/common/g++-unix.conf
+    
+	patch -p1 -i ../qt5-base-stutter.patch # https://bugreports.qt.io/browse/QTBUG-70760
 
 }
 
diff --git a/qt5-base-stutter.patch b/qt5-base-stutter.patch
new file mode 100644
index 0000000..e01dc76
--- /dev/null
+++ b/qt5-base-stutter.patch
@@ -0,0 +1,54 @@
+From d4e937a6280f34bc1cce8c8cea3806a741312fbc Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?B=C5=82a=C5=BCej=20Szczygie=C5=82?= <spaz16@wp.pl>
+Date: Tue, 25 Sep 2018 18:45:10 +0200
+Subject: xcb: Don't get initial screen rotation
+
+"xcb_randr_get_screen_info" can be slow and in some configurations can
+cause short mouse cursor freezes (which will happen on Qt application
+startup).
+
+Initial screen rotation was used only to not handle possible redundant
+screen change event.
+
+Fixes: QTBUG-70760
+Change-Id: I9f01325a045d2c82c4dd2fce91a18a34e54a4bcd
+Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
+---
+ src/plugins/platforms/xcb/qxcbscreen.cpp | 7 -------
+ src/plugins/platforms/xcb/qxcbscreen.h   | 2 +-
+ 2 files changed, 1 insertion(+), 8 deletions(-)
+
+diff --git a/src/plugins/platforms/xcb/qxcbscreen.cpp b/src/plugins/platforms/xcb/qxcbscreen.cpp
+index 7f2793b2b7..a696e2a311 100644
+--- a/src/plugins/platforms/xcb/qxcbscreen.cpp
++++ b/src/plugins/platforms/xcb/qxcbscreen.cpp
+@@ -118,13 +118,6 @@ QXcbVirtualDesktop::QXcbVirtualDesktop(QXcbConnection *connection, xcb_screen_t
+ 
+         xcb_depth_next(&depth_iterator);
+     }
+-
+-    if (connection->hasXRandr()) {
+-        xcb_connection_t *conn = connection->xcb_connection();
+-        auto screen_info = Q_XCB_REPLY(xcb_randr_get_screen_info, conn, screen->root);
+-        if (screen_info)
+-            m_rotation = screen_info->rotation;
+-    }
+ }
+ 
+ QXcbVirtualDesktop::~QXcbVirtualDesktop()
+diff --git a/src/plugins/platforms/xcb/qxcbscreen.h b/src/plugins/platforms/xcb/qxcbscreen.h
+index 6438669e7a..792aca4b06 100644
+--- a/src/plugins/platforms/xcb/qxcbscreen.h
++++ b/src/plugins/platforms/xcb/qxcbscreen.h
+@@ -220,7 +220,7 @@ private:
+     xcb_randr_crtc_t m_crtc;
+     xcb_randr_mode_t m_mode = XCB_NONE;
+     bool m_primary = false;
+-    uint8_t m_rotation = XCB_RANDR_ROTATION_ROTATE_0;
++    uint8_t m_rotation = 0;
+ 
+     QString m_outputName;
+     QSizeF m_outputSizeMillimeters;
+-- 
+cgit v1.2.1
+
-- 
GitLab