From 8aebb228036d5e2863b7eaa6e319ab41c1669269 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Mon, 16 Apr 2018 16:47:37 +0100 Subject: gentoo resync : 16.04.2018 --- dev-qt/qtdeclarative/Manifest | 2 + .../qtdeclarative-5.9.5-texture-memleak.patch | 59 ++++++++++++++++++++++ dev-qt/qtdeclarative/qtdeclarative-5.9.5-r1.ebuild | 58 +++++++++++++++++++++ 3 files changed, 119 insertions(+) create mode 100644 dev-qt/qtdeclarative/files/qtdeclarative-5.9.5-texture-memleak.patch create mode 100644 dev-qt/qtdeclarative/qtdeclarative-5.9.5-r1.ebuild (limited to 'dev-qt/qtdeclarative') diff --git a/dev-qt/qtdeclarative/Manifest b/dev-qt/qtdeclarative/Manifest index 059d2a193a87..411d0b2c07a4 100644 --- a/dev-qt/qtdeclarative/Manifest +++ b/dev-qt/qtdeclarative/Manifest @@ -1,4 +1,5 @@ AUX qtdeclarative-5.4.2-disable-jit.patch 547 BLAKE2B 3f9cc85ab9ec7c2b79aad8bcbfe541ba51745f62e3f02111a2f455c6d1a7959c7980284e3a655ce8335d4a166d65570f2b9d236c681d155c015cc14dc3bb54af SHA512 cd410c0e731a1e096bd8a77b7ecc769a5e3503f7a2f12668f2f4f1c3099973eaa2060d97708962e422c580ee76ee3db3712834cd994b7e1aeeb57c0a4c3b0b3d +AUX qtdeclarative-5.9.5-texture-memleak.patch 2199 BLAKE2B 7b0f531e095fd80731983faf106811ef32d38ce83c2bb595683203d81d671d105720c6ee840740c4c30b0027c52825844bd1fe60a7ab52499feb2699ada92729 SHA512 20c83cd85120475fcec31c6394c149ab6d271f8f4856cd9da60346faebb67e3b119001fc3b0cbfd3f198f5237c4330e878d68d530f859192b6dd9560d7a949e5 DIST qt-everywhere-opensource-src-4.8.7.tar.gz 241075567 BLAKE2B 6e9b8870692c36e894dc401b65fa38961cf7d033cd712770c273fd45b3221720648087c53787eae7d455c417d64e09f716da48377837fb5f2b52b901d06b1cf3 SHA512 f9f81a2e7205e1fd05c8d923dc73244f29aa33f951fa6b7c5c8193449328b37084796b9b71ad0c317e4e6fd00017c10ea5d67b1b2032551cde00548522218125 DIST qtdeclarative-opensource-src-5.7.1.tar.xz 18976920 BLAKE2B f451622bd896445b21db99c0896a58051b8cd78b98062ff9ae71285ea66a692b7f236e0c8b69ee9b7a2685f46344525554caf73f6a9d5b45ef7d6df15f8e4b17 SHA512 8c56099a13103f4831a7ceb29223722c1f8efb0e9a87a4c1fdf0b55a3c5b4cedfdac6e06960ea5d03df4184b3d1c6bc3f21bdcdbd2400591143930aa8e32a2ab DIST qtdeclarative-opensource-src-5.9.4.tar.xz 21454140 BLAKE2B a7e792406c2eb42422aba1b779e2249f081840c8237a119cf4d9a001fa34d1f5e48e30216c08be431a89bca52dd56d4241d92cdfdb8b684b0912449bd0c9301e SHA512 e9e425665df42826c2525566e08b3588aa73b0efea295eed301ba5caeea7208b90c5a91a55cc16986ea9e0ceb9c6658bd59f56a3a276601ad5780f2c67f5ad5c @@ -6,5 +7,6 @@ DIST qtdeclarative-opensource-src-5.9.5.tar.xz 21413796 BLAKE2B d8b365654eda101d EBUILD qtdeclarative-4.8.7.ebuild 1493 BLAKE2B 1fc9ba56b9dd67fb840611e38e19a5bbc4b5f50d16cf7afbf9f384367ea03728f2d44aa1d14adf11ab44f8fba5532ce5f742803a5139f3ed25cf4f404e117d51 SHA512 b01c643b5d27f41e862260743be6701464ed145063ebb6642f5887b648b2f6e8c92c960d81e221a46c8aa7abc9461588953756390f080a7c6a02c53011338ca1 EBUILD qtdeclarative-5.7.1-r1.ebuild 1598 BLAKE2B 4ae8442e6f8febb5323bf7335bee054487bf5b8df757562129f9c3051ff0fb745fe50c2cea7efb50e0ca4b1b81298121f47f5de436a940b88396179d81bf8e91 SHA512 732fca74557642bb5cf5ec64f9d5efcb2a78bd81fd4f8bef8fcc9a1201c24b8c580faa37fd79c2c22aed5babb69cf61341f6bb44fc5d75b949b51af8c4737538 EBUILD qtdeclarative-5.9.4.ebuild 1323 BLAKE2B ca629dea8c113c90fc4e6da40be37bcc43d89fa240cd836eb162e70268f329c6050eabbacc00575ba22084639bcf9a577648c46f5dffe6be740806dd965f19a3 SHA512 a6ecf2a3c673529b97c08fe45596dc84b5378797c14c8afc8eb7ed48bf6013c8f70aee4948a6d7b7c16cfaf070d147f70473c7dd03f1fe4de9a2006977b1c175 +EBUILD qtdeclarative-5.9.5-r1.ebuild 1381 BLAKE2B 93d66133efe327db501588288fb8ada735ef53aed5db25edc10a2c7638f5e90fd0540185218defc397e114d2f1f603cb93e465fffb6bc83d50458f76677d51ac SHA512 408d299677b09658b01911001b3b6c1547ff122a797464287fec2826feb0934b07e340454615e5e39811c5800082200c582a08470ae1119c1e55dc299e8019a4 EBUILD qtdeclarative-5.9.5.ebuild 1327 BLAKE2B 23b4bc4d8e3ac878279add6e045450e842d0b59f42a2c4f7c61900f1e2455fff1964f189840b0fbca91b2592ebb656a41a27882295d7fa744fe6e2ca71b9209d SHA512 bd7a1a4a8b21fb3ce0ec122368eb4aa7543b2cab3a48b15c003aa80370a65f4babb5d6d55df9d55497d5bdd3f59ae7d6ac5a2da54416c687bdd047295e979e6c MISC metadata.xml 1154 BLAKE2B 838bd6238e0b647adb40c4e0d73221104b2f26f160039a014c4576fbbbf51648ec1497e1833987ff298c4d42159c8ad2b2264b8f8a1a5c1d509e321e543709fc SHA512 fe0fdc462c9337726df24de8b8a13660da81a2cbd7cd3d122fadb3a6926e2cd6213d8eedc12185bf4dd1012ab1062ac59fa3cad3055b32e71012072aa31ef415 diff --git a/dev-qt/qtdeclarative/files/qtdeclarative-5.9.5-texture-memleak.patch b/dev-qt/qtdeclarative/files/qtdeclarative-5.9.5-texture-memleak.patch new file mode 100644 index 000000000000..c2a143ecbeda --- /dev/null +++ b/dev-qt/qtdeclarative/files/qtdeclarative-5.9.5-texture-memleak.patch @@ -0,0 +1,59 @@ +From 839f09c65523fb5c419b62e078f72bb39285449a Mon Sep 17 00:00:00 2001 +From: David Edmundson +Date: Wed, 28 Mar 2018 00:24:56 +0100 +Subject: [PATCH] Avoid marking hidden windows as updatePending in Gui render + loop + +Since eeb320bbd8763f3e72f79369cc3908e999a0da3c the GL context only +deletes textures when all windows with pending updates have finished +rendering. + +renderWindow will not process any window that is not visible. This +leaves a logic bug that we can have the updatePending flag set but +never cleared. + +If we have two windows, this leaves the other window still updating +normally, but lastDirtyWindow will always be false and we never call +endSync. + +This results in an effective memory leak of all textures. + +This patch resets the flag on hide() a move that can be considered safe +given the show() method will reset this flag anyway. + +Change-Id: Iab0171716e27e31077a66b5e36a00bf28a2e7a8c +Reviewed-by: Kai Uwe Broulik +Reviewed-by: Qt CI Bot +Reviewed-by: Dominik Holland +Reviewed-by: Aleix Pol +Reviewed-by: Andy Nichols +--- + src/quick/scenegraph/qsgrenderloop.cpp | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/src/quick/scenegraph/qsgrenderloop.cpp b/src/quick/scenegraph/qsgrenderloop.cpp +index 60f3538662..2eaed497ef 100644 +--- a/src/quick/scenegraph/qsgrenderloop.cpp ++++ b/src/quick/scenegraph/qsgrenderloop.cpp +@@ -305,6 +305,8 @@ void QSGGuiThreadRenderLoop::hide(QQuickWindow *window) + { + QQuickWindowPrivate *cd = QQuickWindowPrivate::get(window); + cd->fireAboutToStop(); ++ if (m_windows.contains(window)) ++ m_windows[window].updatePending = false; + } + + void QSGGuiThreadRenderLoop::windowDestroyed(QQuickWindow *window) +@@ -494,7 +496,8 @@ QImage QSGGuiThreadRenderLoop::grab(QQuickWindow *window) + + void QSGGuiThreadRenderLoop::maybeUpdate(QQuickWindow *window) + { +- if (!m_windows.contains(window)) ++ QQuickWindowPrivate *cd = QQuickWindowPrivate::get(window); ++ if (!cd->isRenderable() || !m_windows.contains(window)) + return; + + m_windows[window].updatePending = true; +-- +2.16.3 + diff --git a/dev-qt/qtdeclarative/qtdeclarative-5.9.5-r1.ebuild b/dev-qt/qtdeclarative/qtdeclarative-5.9.5-r1.ebuild new file mode 100644 index 000000000000..393f329132be --- /dev/null +++ b/dev-qt/qtdeclarative/qtdeclarative-5.9.5-r1.ebuild @@ -0,0 +1,58 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +PYTHON_COMPAT=( python2_7 python3_{4,5,6} ) +inherit python-any-r1 qt5-build + +DESCRIPTION="The QML and Quick modules for the Qt5 framework" + +if [[ ${QT5_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~x86 ~amd64-fbsd" +fi + +IUSE="gles2 +jit localstorage +widgets xml" + +# qtgui[gles2=] is needed because of bug 504322 +COMMON_DEPEND=" + ~dev-qt/qtcore-${PV} + ~dev-qt/qtgui-${PV}[gles2=] + ~dev-qt/qtnetwork-${PV} + ~dev-qt/qttest-${PV} + localstorage? ( ~dev-qt/qtsql-${PV} ) + widgets? ( ~dev-qt/qtwidgets-${PV}[gles2=] ) + xml? ( + ~dev-qt/qtnetwork-${PV} + ~dev-qt/qtxmlpatterns-${PV} + ) +" +DEPEND="${COMMON_DEPEND} + ${PYTHON_DEPS} +" +RDEPEND="${COMMON_DEPEND} + !