Hello community, here is the log from the commit of package kmail for openSUSE:Factory checked in at 2020-09-21 17:03:10 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/kmail (Old) and /work/SRC/openSUSE:Factory/.kmail.new.4249 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kmail" Mon Sep 21 17:03:10 2020 rev:52 rq:835157 version:20.08.1 Changes: -------- --- /work/SRC/openSUSE:Factory/kmail/kmail.changes 2020-09-09 17:56:30.494900709 +0200 +++ /work/SRC/openSUSE:Factory/.kmail.new.4249/kmail.changes 2020-09-21 17:04:24.042974794 +0200 @@ -1,0 +2,7 @@ +Thu Sep 17 10:11:29 UTC 2020 - Wolfgang Bauer <wba...@tmo.at> + +- Add Fix-Bug-426596.patch to fix a possible crash of the + archivemail agent after changing its settings (boo#1176666, + kde#426596, kde#425786, kde#424232) + +------------------------------------------------------------------- New: ---- Fix-Bug-426596.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kmail.spec ++++++ --- /var/tmp/diff_new_pack.zV7b7h/_old 2020-09-21 17:04:28.190978523 +0200 +++ /var/tmp/diff_new_pack.zV7b7h/_new 2020-09-21 17:04:28.194978526 +0200 @@ -28,6 +28,8 @@ Group: Productivity/Networking/Email/Clients URL: https://www.kde.org Source: https://download.kde.org/stable/release-service/%{version}/src/%{name}-%{version}.tar.xz +# PATCH-FIX-UPSTREAM +Patch: Fix-Bug-426596.patch BuildRequires: extra-cmake-modules >= %{kf5_version} BuildRequires: gettext-devel BuildRequires: libgpgmepp-devel @@ -140,7 +142,7 @@ %lang_package %prep -%setup -q +%autosetup -p1 %build %cmake_kf5 -d build ++++++ Fix-Bug-426596.patch ++++++ >From 0922a95a692f6424773cd28f21a83237a60d226f Mon Sep 17 00:00:00 2001 From: Laurent Montel <mon...@kde.org> Date: Wed, 16 Sep 2020 18:51:29 +0200 Subject: [PATCH] Fix Bug 426596 - Application: "akonadi_archivemail_agent" crashed after closing "Configure automatic archving..."-Dialog BUG: 426596 BUG: 425786 BUG: 424232 --- agents/archivemailagent/archivemailkernel.cpp | 6 ++++++ agents/archivemailagent/archivemailkernel.h | 2 ++ agents/archivemailagent/archivemailmanager.cpp | 2 +- agents/archivemailagent/archivemailwidget.cpp | 3 +-- 4 files changed, 10 insertions(+), 3 deletions(-) diff --git a/agents/archivemailagent/archivemailkernel.cpp b/agents/archivemailagent/archivemailkernel.cpp index 0ac5081c7..c38b77ac6 100644 --- a/agents/archivemailagent/archivemailkernel.cpp +++ b/agents/archivemailagent/archivemailkernel.cpp @@ -50,6 +50,12 @@ ArchiveMailKernel::ArchiveMailKernel(QObject *parent) mJobScheduler = new MailCommon::JobScheduler(this); } +ArchiveMailKernel *ArchiveMailKernel::self() +{ + static ArchiveMailKernel s_self; + return &s_self; +} + KIdentityManagement::IdentityManager *ArchiveMailKernel::identityManager() { return mIdentityManager; diff --git a/agents/archivemailagent/archivemailkernel.h b/agents/archivemailagent/archivemailkernel.h index fb7bc37b3..89d364ae5 100644 --- a/agents/archivemailagent/archivemailkernel.h +++ b/agents/archivemailagent/archivemailkernel.h @@ -38,6 +38,8 @@ class ArchiveMailKernel : public QObject, public MailCommon::IKernel, public Mai public: explicit ArchiveMailKernel(QObject *parent = nullptr); + static ArchiveMailKernel *self(); + KIdentityManagement::IdentityManager *identityManager() override; MessageComposer::MessageSender *msgSender() override; diff --git a/agents/archivemailagent/archivemailmanager.cpp b/agents/archivemailagent/archivemailmanager.cpp index 170210748..8f97b25a2 100644 --- a/agents/archivemailagent/archivemailmanager.cpp +++ b/agents/archivemailagent/archivemailmanager.cpp @@ -37,7 +37,7 @@ ArchiveMailManager::ArchiveMailManager(QObject *parent) : QObject(parent) { - mArchiveMailKernel = new ArchiveMailKernel(this); + mArchiveMailKernel = ArchiveMailKernel::self(); CommonKernel->registerKernelIf(mArchiveMailKernel); //register KernelIf early, it is used by the Filter classes CommonKernel->registerSettingsIf(mArchiveMailKernel); //SettingsIf is used in FolderTreeWidget mConfig = KSharedConfig::openConfig(); diff --git a/agents/archivemailagent/archivemailwidget.cpp b/agents/archivemailagent/archivemailwidget.cpp index 3d7b72b0c..30d24f194 100644 --- a/agents/archivemailagent/archivemailwidget.cpp +++ b/agents/archivemailagent/archivemailwidget.cpp @@ -69,9 +69,8 @@ ArchiveMailInfo *ArchiveMailItem::info() const ArchiveMailWidget::ArchiveMailWidget(const KSharedConfigPtr &config, QWidget *parent, const QVariantList &args) : Akonadi::AgentConfigurationBase(config, parent, args) - , mChanged(false) { - ArchiveMailKernel *archiveMailKernel = new ArchiveMailKernel(this); + ArchiveMailKernel *archiveMailKernel = ArchiveMailKernel::self(); CommonKernel->registerKernelIf(archiveMailKernel); //register KernelIf early, it is used by the Filter classes CommonKernel->registerSettingsIf(archiveMailKernel); //SettingsIf is used in FolderTreeWidget -- GitLab