diff options
author | Andreas Sturmlechner <asturm@gentoo.org> | 2020-09-29 14:36:54 +0200 |
---|---|---|
committer | Andreas Sturmlechner <asturm@gentoo.org> | 2020-09-29 14:46:08 +0200 |
commit | 262b19e8713abd4fa1fd19c202088af7992d0c15 (patch) | |
tree | 05329d91317385e42ff7568135854942b6fd2fa4 /kde-frameworks/kirigami | |
parent | kde-frameworks/kirigami: Fix blurry user avatars (diff) | |
download | gentoo-262b19e8713abd4fa1fd19c202088af7992d0c15.tar.gz gentoo-262b19e8713abd4fa1fd19c202088af7992d0c15.tar.bz2 gentoo-262b19e8713abd4fa1fd19c202088af7992d0c15.zip |
kde-frameworks/kirigami: Remove actions/delegates from ToolBarLayout
...when they get destroyed. Fixes (at least) a Discover crash.
Upstream commit 6eaefba5001445fa7e198e4caa0bde738240d66f
KDE-Bug: https://bugs.kde.org/show_bug.cgi?id=425670
Package-Manager: Portage-3.0.8, Repoman-3.0.1
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
Diffstat (limited to 'kde-frameworks/kirigami')
-rw-r--r-- | kde-frameworks/kirigami/files/kirigami-5.74.0-remove-actions-from-ToolBarLayout-when-destroyed.patch | 40 | ||||
-rw-r--r-- | kde-frameworks/kirigami/kirigami-5.74.0-r1.ebuild | 5 |
2 files changed, 44 insertions, 1 deletions
diff --git a/kde-frameworks/kirigami/files/kirigami-5.74.0-remove-actions-from-ToolBarLayout-when-destroyed.patch b/kde-frameworks/kirigami/files/kirigami-5.74.0-remove-actions-from-ToolBarLayout-when-destroyed.patch new file mode 100644 index 000000000000..192ba9dcf67f --- /dev/null +++ b/kde-frameworks/kirigami/files/kirigami-5.74.0-remove-actions-from-ToolBarLayout-when-destroyed.patch @@ -0,0 +1,40 @@ +From 6eaefba5001445fa7e198e4caa0bde738240d66f Mon Sep 17 00:00:00 2001 +From: Arjen Hiemstra <ahiemstra@heimr.nl> +Date: Wed, 9 Sep 2020 13:00:59 +0200 +Subject: [PATCH] Remove actions and delegates from ToolBarLayout when they get + destroyed + +Otherwise we're keeping around stale entries that no longer point to +valid stuff. + +BUG: 425670 +--- + src/toolbarlayout.cpp | 12 ++++++++++++ + 1 file changed, 12 insertions(+) + +diff --git a/src/toolbarlayout.cpp b/src/toolbarlayout.cpp +index cbf31062..c2df5998 100644 +--- a/src/toolbarlayout.cpp ++++ b/src/toolbarlayout.cpp +@@ -112,6 +112,18 @@ void ToolBarLayout::addAction(QObject* action) + d->actions.append(action); + d->actionsChanged = true; + ++ connect(action, &QObject::destroyed, this, [this](QObject *action) { ++ auto itr = d->delegates.find(action); ++ if (itr != d->delegates.end()) { ++ d->delegates.erase(itr); ++ } ++ ++ d->actions.removeOne(action); ++ d->actionsChanged = true; ++ ++ relayout(); ++ }); ++ + relayout(); + } + +-- +GitLab + diff --git a/kde-frameworks/kirigami/kirigami-5.74.0-r1.ebuild b/kde-frameworks/kirigami/kirigami-5.74.0-r1.ebuild index aa5b71a3f17b..0064f84f415c 100644 --- a/kde-frameworks/kirigami/kirigami-5.74.0-r1.ebuild +++ b/kde-frameworks/kirigami/kirigami-5.74.0-r1.ebuild @@ -37,7 +37,10 @@ RDEPEND="${DEPEND} # requires package to already be installed RESTRICT+=" test" -PATCHES=( "${FILESDIR}"/${P}-revert-fix-avatar-loading.patch ) +PATCHES=( + "${FILESDIR}"/${P}-revert-fix-avatar-loading.patch + "${FILESDIR}"/${P}-remove-actions-from-ToolBarLayout-when-destroyed.patch +) src_configure() { local mycmakeargs=( |