author | Antonio Rojas
<arojas@archlinux.org> 2017-08-26 19:52:47 UTC |
committer | Antonio Rojas
<arojas@archlinux.org> 2017-08-26 19:52:47 UTC |
parent | b1d6450882a0945659b66a06b6d64b3a4396db7b |
PKGBUILD | +5 | -3 |
qtbug-61754.patch | +25 | -0 |
diff --git a/PKGBUILD b/PKGBUILD index 6d5d7c0..7ab21d8 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -5,7 +5,7 @@ pkgname=qt5-declarative _qtver=5.9.1 pkgver=${_qtver/-/} -pkgrel=4 +pkgrel=5 arch=('i686' 'x86_64') url='http://qt-project.org/' license=('GPL3' 'LGPL3' 'FDL' 'custom') @@ -17,9 +17,10 @@ conflicts=('qtchooser' 'qt5-declarative-render2d') replaces=('qt5-declarative-render2d') _pkgfqn="${pkgname/5-/}-opensource-src-${_qtver}" source=("http://download.qt.io/official_releases/qt/${pkgver%.*}/${_qtver}/submodules/${_pkgfqn}.tar.xz" - qtbug-61681.patch::"https://github.com/qt/qtdeclarative/commit/ab5d4c78.patch") + qtbug-61681.patch::"https://github.com/qt/qtdeclarative/commit/ab5d4c78.patch" qtbug-61754.patch) sha256sums=('d2fe6c9c1a9f19af6e96553c6d75366ab8f397bc232acd67d31476955fee94ff' - '0d8f1e91b221da8727618b81f3a6b80566095d1afe442f198a6ef29cdfb58898') + '0d8f1e91b221da8727618b81f3a6b80566095d1afe442f198a6ef29cdfb58898' + '6b4a77535275a6358f61d44b6f740cb85729992582f3b5669ac3b1ed1fdb4e05') prepare() { mkdir -p build @@ -29,6 +30,7 @@ prepare() { cd ${_pkgfqn} patch -p1 -i ../qtbug-61681.patch # https://bugreports.qt.io/browse/QTBUG-61681 + patch -p1 -i ../qtbug-61754.patch # fix memory leak with threaded renderer } build() { diff --git a/qtbug-61754.patch b/qtbug-61754.patch new file mode 100644 index 0000000..e5352ec --- /dev/null +++ b/qtbug-61754.patch @@ -0,0 +1,25 @@ +From 768f606cd3cd37c235e85225127201a42d272946 Mon Sep 17 00:00:00 2001 +From: Joni Poikelin <joni.poikelin@qt.io> +Date: Thu, 17 Aug 2017 09:49:25 +0300 +Subject: [PATCH] Fix memory leaks with threaded renderer + +Reverts 39061af50cc3092289cdd71d17802139590ecb59 and calls endSync() +instead after syncSceneGraph(). + +Task-number: QTBUG-61754 +Change-Id: I7b51ffdc93557bacd93927dd642ec3715980b21c +Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io> +Reviewed-by: Roger Zanoni <rogerzanoni@gmail.com> +--- +diff --git a/src/quick/scenegraph/qsgthreadedrenderloop.cpp b/src/quick/scenegraph/qsgthreadedrenderloop.cpp +index 3a8e673c0..d28a73da2 100644 +--- a/src/quick/scenegraph/qsgthreadedrenderloop.cpp ++++ b/src/quick/scenegraph/qsgthreadedrenderloop.cpp +@@ -553,6 +553,7 @@ void QSGRenderThread::sync(bool inExpose) + if (d->renderer) + d->renderer->clearChangedFlag(); + d->syncSceneGraph(); ++ sgrc->endSync(); + if (!hadRenderer && d->renderer) { + qCDebug(QSG_LOG_RENDERLOOP) << QSG_RT_PAD << "- renderer was created"; + syncResultedInChanges = true;