summaryrefslogtreecommitdiffstats
path: root/kde/patch/kdepimlibs
diff options
context:
space:
mode:
author Eric Hameleers <alien@slackware.com>2015-12-31 13:53:34 +0100
committer Eric Hameleers <alien@slackware.com>2015-12-31 13:53:34 +0100
commit16e613e2585bb42feb26d70a89d8a1945c6a8827 (patch)
tree9c3086142de7474b257f7faa7c73e3c495918ffd /kde/patch/kdepimlibs
parent5c32fd177dd9dd445417f6f98c52d727e9a7f703 (diff)
downloadktown-16e613e2585bb42feb26d70a89d8a1945c6a8827.tar.gz
ktown-16e613e2585bb42feb26d70a89d8a1945c6a8827.tar.xz
Some package recompilations as a result of your feedback, thanks!
Also, three new packages have been added and one has been re-added. current/testing/deps: Updated OpenAL. current/testing/kde/applications: Rebuilt kde-runtime, kdenetwork-filesharing, kdesdk-thumbnailers, kdegraphics-thumbnailers, krfb, kamera, marble, ark, dolphin, kde-baseapps. current/testing/kde/applications: Added the missing baloo5-widgets. current/testing/kde/kdepim: Rebuilt kdepimlibs. current/testing/kde/plasma: Added bluez-qt,bluedevil (now that Slackware finally got updated to BlueZ 5)). current/testing/kde/plasma: Rebuilt plasma5-nm, plasma-workspace. current/testing/kde/plasma-extra: Re-added oxygen-fonts on request.
Diffstat (limited to 'kde/patch/kdepimlibs')
-rw-r--r--kde/patch/kdepimlibs/kdepimlibs_kmail_crash.patch59
1 files changed, 59 insertions, 0 deletions
diff --git a/kde/patch/kdepimlibs/kdepimlibs_kmail_crash.patch b/kde/patch/kdepimlibs/kdepimlibs_kmail_crash.patch
new file mode 100644
index 0000000..1614e07
--- /dev/null
+++ b/kde/patch/kdepimlibs/kdepimlibs_kmail_crash.patch
@@ -0,0 +1,59 @@
+From: Weng Xuetian <wengxt@gmail.com>
+Date: Thu, 17 Dec 2015 16:19:36 +0000
+Subject: Fix possible crash upon application exits (e.g. kmail)
+X-Git-Url: http://quickgit.kde.org/?p=kdepimlibs.git&a=commitdiff&h=c6bf33a9018587e96a350bfd0b2bffde1859db27
+---
+Fix possible crash upon application exits (e.g. kmail)
+
+Qt lambda connection will not automatically disconnect if no context
+qobject is provided. Since SessionPrivate is not a qobject, disconnect
+the connection in the destructor to prevent accessing deleted object.
+
+REVIEW: 126395
+---
+
+
+--- a/akonadi/src/core/session.cpp
++++ b/akonadi/src/core/session.cpp
+@@ -301,15 +301,16 @@
+ // Shutdown the thread before QApplication event loop quits - the
+ // thread()->wait() mechanism in ConnectionThread dtor crashes sometimes
+ // when called from QApplication destructor
+- QObject::connect(qApp, &QCoreApplication::aboutToQuit,
+- [this]() {
+- delete connThread;
+- connThread = Q_NULLPTR;
+- });
++ connThreadCleanUp = QObject::connect(qApp, &QCoreApplication::aboutToQuit,
++ [this]() {
++ delete connThread;
++ connThread = Q_NULLPTR;
++ });
+ }
+
+ SessionPrivate::~SessionPrivate()
+ {
++ QObject::disconnect(connThreadCleanUp);
+ delete connThread;
+ }
+
+
+--- a/akonadi/src/core/session_p.h
++++ b/akonadi/src/core/session_p.h
+@@ -29,6 +29,7 @@
+
+ #include <QtCore/QQueue>
+ #include <QtCore/QThreadStorage>
++#include <QtCore/QMetaObject>
+ #include <QFile>
+
+ class QIODevice;
+@@ -125,6 +126,7 @@
+ Session *mParent;
+ QThread *thread;
+ ConnectionThread *connThread;
++ QMetaObject::Connection connThreadCleanUp;
+ QByteArray sessionId;
+ bool connected;
+ qint64 theNextTag;
+