diff --git a/klipper/klipperpopup.cpp b/klipper/klipperpopup.cpp index eefaa70dbec340130e10865057d67fb8d2b1b59c..e68780102bc4d3c1e2101cf3645335a5fe5f3ac9 100644 --- a/klipper/klipperpopup.cpp +++ b/klipper/klipperpopup.cpp @@ -138,7 +138,13 @@ void KlipperPopup::rebuild(const QString &filter) } else { for (int i = 0; i < m_nHistoryItems; i++) { Q_ASSERT(TOP_HISTORY_ITEM_INDEX < actions().count()); - removeAction(actions().at(TOP_HISTORY_ITEM_INDEX)); + + // The old actions allocated by KlipperPopup::rebuild() + // and PopupProxy::tryInsertItem() are deleted here when + // the menu is rebuilt. + QAction *action = actions().at(TOP_HISTORY_ITEM_INDEX); + removeAction(action); + action->deleteLater(); } }