commit:     99679f6ff2cf9e236725791a6aed35b37af0cd86
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Wed Nov 20 15:44:16 2019 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Wed Nov 20 15:45:09 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=99679f6f

kde-frameworks/kirigami: 5.64.1 version bump

See also: https://mail.kde.org/pipermail/release-team/2019-November/011662.html
KDE-Bug: https://bugs.kde.org/show_bug.cgi?id=414003
Package-Manager: Portage-2.3.79, Repoman-2.3.18
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 kde-frameworks/kirigami/Manifest                   |   2 +-
 ...one-qmlcomponentspool-instance-per-engine.patch | 178 ---------------------
 ...ami-5.64.0-r1.ebuild => kirigami-5.64.1.ebuild} |   2 -
 3 files changed, 1 insertion(+), 181 deletions(-)

diff --git a/kde-frameworks/kirigami/Manifest b/kde-frameworks/kirigami/Manifest
index dac949ca8bd..31a6849b940 100644
--- a/kde-frameworks/kirigami/Manifest
+++ b/kde-frameworks/kirigami/Manifest
@@ -1,2 +1,2 @@
 DIST kirigami2-5.60.0.tar.xz 142232 BLAKE2B 
729729b4fae0fcd55a55178074a766b3fad7fb9edee2367ddd2ad61d25e8c082be2c6de221eede6bb5a5b0f6984e0d507cbe69fd1bb73dc6cf4d22746f0d6066
 SHA512 
e8426e518744172b9c08f198244314ed80bb529af79475c921ed87bb21e031f788e90906e117916b11c10256814016c95583fe835e08e48de4bccda000b5dda2
-DIST kirigami2-5.64.0.tar.xz 154912 BLAKE2B 
b18ab8fa8c7e8ccaf026bf343f44b4fe12b93cb5ef8e6609e125f131501b6963c0212d30e46eb8509e2027a44eec0b571de87e7c6b82bd97b4bb7ea8f87b9ede
 SHA512 
8fe5b8fb1bf743d27acace5a30960d1ba2cb11d908f1df29014eccb137f12329625346bbc74cb88c9451e80f4e83d8d0fae47d7cf23b4718b1f2199b19a5fe26
+DIST kirigami2-5.64.1.tar.xz 155444 BLAKE2B 
4dfe452a36e75ce44ccd78107751bce68d873d1f2837ec0c9010292ef70d6a9f5fa8b093e51dcfd28a72ad836c2b87068f9c9fbf1195b5466630f73459ffa9b3
 SHA512 
e54854c477e38aead0a69178c47bc3ac9874553af999b273454b4d5d0c9552b65d29775bb9c24ab556a022fd8b0f3b743fda3baa6d1dda61d7b1eceed26a4d53

diff --git 
a/kde-frameworks/kirigami/files/kirigami-5.64.0-one-qmlcomponentspool-instance-per-engine.patch
 
b/kde-frameworks/kirigami/files/kirigami-5.64.0-one-qmlcomponentspool-instance-per-engine.patch
deleted file mode 100644
index 3613a8bf2b5..00000000000
--- 
a/kde-frameworks/kirigami/files/kirigami-5.64.0-one-qmlcomponentspool-instance-per-engine.patch
+++ /dev/null
@@ -1,178 +0,0 @@
-From 4a9820a6df15a55a7d36d343ce70a25ba7d56b79 Mon Sep 17 00:00:00 2001
-From: David Edmundson <[email protected]>
-Date: Wed, 13 Nov 2019 14:23:19 +0000
-Subject: Make QmlComponentsPool one instance per engine
-
-Summary:
-If we create 2 engines in an application the singleton is initialised to
-the first engine. If that first engine disappears the internal m_unit is
-dangling.
-
-A good example of this is systemsettings in the icon view if we enter
-two modules one after another. It's currently only kept alive because
-the sidebar created the first reference.
-
-BUG: 414003
-
-Test Plan:
-System settings in icon view
-opened global theme
-went back
-open fonts theme
-didn't crash
-
-Subscribers: plasma-devel
-
-Tags: #kirigami
-
-Differential Revision: https://phabricator.kde.org/D25284
----
- src/columnview.cpp | 54 +++++++++++++++++++++++++++++++++---------------------
- src/columnview_p.h |  4 +---
- 2 files changed, 34 insertions(+), 24 deletions(-)
-
-diff --git a/src/columnview.cpp b/src/columnview.cpp
-index cab89f8..35d591e 100644
---- a/src/columnview.cpp
-+++ b/src/columnview.cpp
-@@ -37,23 +37,37 @@ class QmlComponentsPoolSingleton
- public:
-     QmlComponentsPoolSingleton()
-     {}
--
--    QmlComponentsPool self;
-+    static QmlComponentsPool *instance(QQmlEngine *engine);
-+private:
-+    QHash<QQmlEngine*, QmlComponentsPool*> m_instances;
- };
- 
- Q_GLOBAL_STATIC(QmlComponentsPoolSingleton, privateQmlComponentsPoolSelf)
- 
- 
--QmlComponentsPool::QmlComponentsPool(QObject *parent)
--    : QObject(parent)
--{}
--
--void QmlComponentsPool::initialize(QQmlEngine *engine)
-+QmlComponentsPool *QmlComponentsPoolSingleton::instance(QQmlEngine *engine)
- {
--    if (!engine || m_instance) {
--        return;
-+    Q_ASSERT(engine);
-+    auto componentPool = 
privateQmlComponentsPoolSelf->m_instances.value(engine);
-+
-+    if (componentPool) {
-+        return componentPool;
-     }
- 
-+    componentPool = new QmlComponentsPool(engine);
-+
-+    QObject::connect(componentPool, &QObject::destroyed, [engine]() {
-+        if (privateQmlComponentsPoolSelf) {
-+            privateQmlComponentsPoolSelf->m_instances.remove(engine);
-+        }
-+    });
-+    privateQmlComponentsPoolSelf->m_instances[engine] = componentPool;
-+    return componentPool;
-+}
-+
-+QmlComponentsPool::QmlComponentsPool(QQmlEngine *engine)
-+    : QObject(engine)
-+{
-     QQmlComponent *component = new QQmlComponent(engine, this);
- 
-     component->setData(QByteArrayLiteral("import QtQuick 2.7\n"
-@@ -572,12 +586,12 @@ QQuickItem *ContentItem::ensureSeparator(QQuickItem 
*item)
-     QQuickItem *separatorItem = m_separators.value(item);
-     
-     if (!separatorItem) {
--        separatorItem = qobject_cast<QQuickItem 
*>(privateQmlComponentsPoolSelf->self.m_separatorComponent->beginCreate(QQmlEngine::contextForObject(item)));
-+        separatorItem = qobject_cast<QQuickItem 
*>(privateQmlComponentsPoolSelf->instance(qmlEngine(item))->m_separatorComponent->beginCreate(QQmlEngine::contextForObject(item)));
-         if (separatorItem) {
-             separatorItem->setParentItem(item);
-             separatorItem->setZ(9999);
-             separatorItem->setProperty("column", QVariant::fromValue(item));
--            
privateQmlComponentsPoolSelf->self.m_separatorComponent->completeCreate();
-+            
QmlComponentsPoolSingleton::instance(qmlEngine(item))->m_separatorComponent->completeCreate();
-             m_separators[item] = separatorItem;
-         }
-     }
-@@ -590,12 +604,12 @@ QQuickItem *ContentItem::ensureRightSeparator(QQuickItem 
*item)
-     QQuickItem *separatorItem = m_rightSeparators.value(item);
-     
-     if (!separatorItem) {
--        separatorItem = qobject_cast<QQuickItem 
*>(privateQmlComponentsPoolSelf->self.m_rightSeparatorComponent->beginCreate(QQmlEngine::contextForObject(item)));
-+        separatorItem = qobject_cast<QQuickItem 
*>(QmlComponentsPoolSingleton::instance(qmlEngine(item))->m_rightSeparatorComponent->beginCreate(QQmlEngine::contextForObject(item)));
-         if (separatorItem) {
-             separatorItem->setParentItem(item);
-             separatorItem->setZ(9999);
-             separatorItem->setProperty("column", QVariant::fromValue(item));
--            
privateQmlComponentsPoolSelf->self.m_rightSeparatorComponent->completeCreate();
-+            
QmlComponentsPoolSingleton::instance(qmlEngine(item))->m_rightSeparatorComponent->completeCreate();
-             m_rightSeparators[item] = separatorItem;
-         }
-     }
-@@ -759,7 +773,7 @@ qreal ColumnView::columnWidth() const
- void ColumnView::setColumnWidth(qreal width)
- {
-     // Always forget the internal binding when the user sets anything, even 
the same value
--    disconnect(&privateQmlComponentsPoolSelf->self, 
&QmlComponentsPool::gridUnitChanged, this, nullptr);
-+    disconnect(QmlComponentsPoolSingleton::instance(qmlEngine(this)), 
&QmlComponentsPool::gridUnitChanged, this, nullptr);
- 
-     if (m_contentItem->m_columnWidth == width) {
-         return;
-@@ -902,7 +916,7 @@ int ColumnView::scrollDuration() const
- 
- void ColumnView::setScrollDuration(int duration)
- {
--    disconnect(&privateQmlComponentsPoolSelf->self, 
&QmlComponentsPool::longDurationChanged, this, nullptr);
-+    disconnect(QmlComponentsPoolSingleton::instance(qmlEngine(this)), 
&QmlComponentsPool::longDurationChanged, this, nullptr);
- 
-     if (m_contentItem->m_slideAnim->duration() == duration) {
-         return;
-@@ -1392,22 +1406,20 @@ void ColumnView::mouseUngrabEvent()
- 
- void ColumnView::classBegin()
- {
--    privateQmlComponentsPoolSelf->self.initialize(qmlEngine(this));
--
-     auto syncColumnWidth = [this]() {
--        m_contentItem->m_columnWidth = 
privateQmlComponentsPoolSelf->self.m_units->property("gridUnit").toInt() * 20;
-+        m_contentItem->m_columnWidth = 
privateQmlComponentsPoolSelf->instance(qmlEngine(this))->m_units->property("gridUnit").toInt()
 * 20;
-         emit columnWidthChanged();
-     };
- 
--    connect(&privateQmlComponentsPoolSelf->self, 
&QmlComponentsPool::gridUnitChanged, this, syncColumnWidth);
-+    connect(QmlComponentsPoolSingleton::instance(qmlEngine(this)), 
&QmlComponentsPool::gridUnitChanged, this, syncColumnWidth);
-     syncColumnWidth();
- 
-     auto syncDuration = [this]() {
--        
m_contentItem->m_slideAnim->setDuration(privateQmlComponentsPoolSelf->self.m_units->property("longDuration").toInt());
-+        
m_contentItem->m_slideAnim->setDuration(QmlComponentsPoolSingleton::instance(qmlEngine(this))->m_units->property("longDuration").toInt());
-         emit scrollDurationChanged();
-     };
- 
--    connect(&privateQmlComponentsPoolSelf->self, 
&QmlComponentsPool::longDurationChanged, this, syncDuration);
-+    connect(QmlComponentsPoolSingleton::instance(qmlEngine(this)), 
&QmlComponentsPool::longDurationChanged, this, syncDuration);
-     syncDuration();
- 
-     QQuickItem::classBegin();
-diff --git a/src/columnview_p.h b/src/columnview_p.h
-index ebf5543..886b96b 100644
---- a/src/columnview_p.h
-+++ b/src/columnview_p.h
-@@ -32,11 +32,9 @@ class QmlComponentsPool: public QObject
-     Q_OBJECT
- 
- public:
--    QmlComponentsPool(QObject *parent = nullptr);
-+    QmlComponentsPool(QQmlEngine *engine);
-     ~QmlComponentsPool();
- 
--    void initialize(QQmlEngine *engine);
--
-     QQmlComponent *m_separatorComponent = nullptr;
-     QQmlComponent *m_rightSeparatorComponent = nullptr;
-     QObject *m_units = nullptr;
--- 
-cgit v1.1

diff --git a/kde-frameworks/kirigami/kirigami-5.64.0-r1.ebuild 
b/kde-frameworks/kirigami/kirigami-5.64.1.ebuild
similarity index 92%
rename from kde-frameworks/kirigami/kirigami-5.64.0-r1.ebuild
rename to kde-frameworks/kirigami/kirigami-5.64.1.ebuild
index 358a9fdf984..b2497ea6e56 100644
--- a/kde-frameworks/kirigami/kirigami-5.64.0-r1.ebuild
+++ b/kde-frameworks/kirigami/kirigami-5.64.1.ebuild
@@ -37,8 +37,6 @@ RDEPEND="${DEPEND}
 # requires package to already be installed
 RESTRICT+=" test"
 
-PATCHES=( "${FILESDIR}/${P}-one-qmlcomponentspool-instance-per-engine.patch" )
-
 src_configure() {
        local mycmakeargs=(
                -DBUILD_EXAMPLES=$(usex examples)

Reply via email to