git » qt5-quickcontrols.git » commit 8290b8a

Fix OOM with some Plasma themes (FS#61741)

author Antonio Rojas
2019-02-24 17:23:37 UTC
committer Antonio Rojas
2019-02-24 17:23:37 UTC
parent 1421345db9f955c3c245c07d014244de6fef4331

Fix OOM with some Plasma themes (FS#61741)

PKGBUILD +8 -3
qtbug-73961.patch +29 -0

diff --git a/PKGBUILD b/PKGBUILD
index e90cf0c..6f05d0f 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -4,7 +4,7 @@
 pkgname=qt5-quickcontrols
 _qtver=5.12.1
 pkgver=${_qtver/-/}
-pkgrel=1
+pkgrel=2
 arch=('x86_64')
 url='https://www.qt.io'
 license=('GPL3' 'LGPL3' 'FDL' 'custom')
@@ -13,11 +13,16 @@ depends=('qt5-declarative')
 makedepends=()
 groups=('qt' 'qt5')
 _pkgfqn="${pkgname/5-/}-everywhere-src-${_qtver}"
-source=("https://download.qt.io/official_releases/qt/${pkgver%.*}/${_qtver}/submodules/${_pkgfqn}.tar.xz")
-sha256sums=('15164b00921352b5145a4fc3be0015b8521138a0cb1ecfb9811f39fd35ecd62c')
+source=("https://download.qt.io/official_releases/qt/${pkgver%.*}/${_qtver}/submodules/${_pkgfqn}.tar.xz"
+        qtbug-73961.patch)
+sha256sums=('15164b00921352b5145a4fc3be0015b8521138a0cb1ecfb9811f39fd35ecd62c'
+            '1ed9b1c0a42c26d9b16d689b8a6b45ec590940bba6534d6410199809b0db4457')
 
 prepare() {
   mkdir -p build
+
+  cd $_pkgfqn
+  patch -p1 -i ../qtbug-73961.patch # Fix OOM with some Plasma themes https://bugreports.qt.io/browse/QTBUG-73691
 }
 
 build() {
diff --git a/qtbug-73961.patch b/qtbug-73961.patch
new file mode 100644
index 0000000..d67d61f
--- /dev/null
+++ b/qtbug-73961.patch
@@ -0,0 +1,29 @@
+From e66dad9857cc062ccfc03e410b15ad1d0254dee9 Mon Sep 17 00:00:00 2001
+From: Benjamin Robin <dev@benjarobin.fr>
+Date: Sun, 24 Feb 2019 10:28:14 +0100
+Subject: [PATCH] Fix ScrollView scrollbar handles when the content is empty
+
+Task-number: QTBUG-73691
+Change-Id: I86becca9a1fa2508d1acafe09f46dfc952e4e96d
+---
+ src/controls/Styles/Base/ScrollViewStyle.qml | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/controls/Styles/Base/ScrollViewStyle.qml b/src/controls/Styles/Base/ScrollViewStyle.qml
+index 6750399d429..36b518d3933 100644
+--- a/src/controls/Styles/Base/ScrollViewStyle.qml
++++ b/src/controls/Styles/Base/ScrollViewStyle.qml
+@@ -370,8 +370,8 @@ Style {
+ 
+         property var flickableItem: control.flickableItem
+         property int extent: Math.max(minimumHandleLength, __styleData.horizontal ?
+-                                          Math.min(1, (flickableItem ? flickableItem.width/flickableItem.contentWidth : 1)) * bg.width :
+-                                          Math.min(1, (flickableItem ? flickableItem.height/flickableItem.contentHeight : 1)) * bg.height)
++                                          Math.min(1, ((flickableItem && flickableItem.contentWidth > 0.0) ? flickableItem.width/flickableItem.contentWidth : 1)) * bg.width :
++                                          Math.min(1, ((flickableItem && flickableItem.contentHeight > 0.0) ? flickableItem.height/flickableItem.contentHeight : 1)) * bg.height)
+         readonly property real range: __control.maximumValue - __control.minimumValue
+         readonly property real begin: __control.value - __control.minimumValue
+ 
+-- 
+2.20.1
+