diff options
Diffstat (limited to 'kde-frameworks/kirigami/files')
-rw-r--r-- | kde-frameworks/kirigami/files/kirigami-5.74.0-remove-actions-from-ToolBarLayout-when-destroyed.patch | 40 |
1 files changed, 40 insertions, 0 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 + |