[pim/kdepim-addons] kmail/checkbeforedeletemailplugins/confirmbeforedeleting: Add to actioncollection + fix mem leak

Laurent Montel <[email protected]>
Newsgroups gmane.comp.kde.cvs
Message-ID <[email protected]>
Git commit dea5e4f6dd1a4829d605644b8097a5ecf6df13f1 by Laurent Montel.
Committed on 15/08/2026 at 13:15.
Pushed by mlaurent into branch 'master'.

Add to actioncollection + fix mem leak

M  +6    -4    kmail/checkbeforedeletemailplugins/confirmbeforedeleting/confirmbeforedeletinginterface.cpp

https://invent.kde.org/pim/kdepim-addons/-/commit/dea5e4f6dd1a4829d605644b8097a5ecf6df13f1

diff --git a/kmail/checkbeforedeletemailplugins/confirmbeforedeleting/confirmbeforedeletinginterface.cpp b/kmail/checkbeforedeletemailplugins/confirmbeforedeleting/confirmbeforedeletinginterface.cpp
index 8513c3d7b..ca67e0501 100644
--- a/kmail/checkbeforedeletemailplugins/confirmbeforedeleting/confirmbeforedeletinginterface.cpp
+++ b/kmail/checkbeforedeletemailplugins/confirmbeforedeleting/confirmbeforedeletinginterface.cpp
@@ -9,6 +9,7 @@ using namespace Qt::Literals::StringLiterals;
 #include "confirmbeforedeletingmanager.h"
 #include "confirmbeforedeletingmessageboxdialog.h"
 #include "confirmbeforedeletingplugin_debug.h"
+#include <KActionCollection>
 #include <KLocalizedString>
 #include <QAction>
 #include <QDialogButtonBox>
@@ -35,6 +36,8 @@ void ConfirmBeforeDeletingInterface::createActions(KActionCollection *ac)
         auto menu = new QMenu;
         auto act = new QAction(QIcon::fromTheme(u"settings-configure"_s), i18n("Configure"), menu);
         connect(act, &QAction::triggered, this, &ConfirmBeforeDeletingInterface::slotConfigure);
+        ac->addAction(QStringLiteral("confirm_before_deleting_configure"), act);
+
         menu->addAction(act);
         mainMenu->setMenu(menu);
         mAction << mainMenu;
@@ -76,19 +79,18 @@ Akonadi::Item::List ConfirmBeforeDeletingInterface::exec(const Akonadi::Item::Li
                 if (dlg->useSameResult()) {
                     ruleDelete.append(r);
                 }
-                delete dlg;
             } else if (button == QDialogButtonBox::StandardButton::No) {
                 if (dlg->useSameResult()) {
                     ruleNotDelete.append(r);
                 }
-                delete dlg;
             } else if (button == QDialogButtonBox::StandardButton::Cancel) {
                 lst.clear();
-                delete dlg;
                 break;
             } else {
-                qCWarning(KMAIL_CONFIRMBEFOREDELETING_PLUGIN_LOG) << " StandardButton is invalid " << button << " .It's a bug!";
+                lst.clear();
+                break;
             }
+            delete dlg;
         } else {
             lst << item;
         }
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.