summaryrefslogtreecommitdiff
path: root/community/trojita/trojita-fix-crash.patch
diff options
context:
space:
mode:
Diffstat (limited to 'community/trojita/trojita-fix-crash.patch')
-rw-r--r--community/trojita/trojita-fix-crash.patch30
1 files changed, 30 insertions, 0 deletions
diff --git a/community/trojita/trojita-fix-crash.patch b/community/trojita/trojita-fix-crash.patch
new file mode 100644
index 00000000..9a302728
--- /dev/null
+++ b/community/trojita/trojita-fix-crash.patch
@@ -0,0 +1,30 @@
+diff --git a/src/Imap/Network/FileDownloadManager.cpp b/src/Imap/Network/FileDownloadManager.cpp
+index 16b6c8dfc93727bd1696abaab8336b06794b3a02..c3f72176abdfd0981a5ac37ec69060fb3c7aa797 100644
+--- a/src/Imap/Network/FileDownloadManager.cpp
++++ b/src/Imap/Network/FileDownloadManager.cpp
+@@ -139,7 +139,9 @@ void FileDownloadManager::downloadMessage()
+
+ void FileDownloadManager::onPartDataTransfered()
+ {
+- Q_ASSERT(reply);
++ if (!reply) {
++ return;
++ }
+ if (reply->error() == QNetworkReply::NoError) {
+ if (!saving.open(QIODevice::WriteOnly)) {
+ emit transferError(saving.errorString());
+@@ -192,11 +194,11 @@ void FileDownloadManager::onCombinerTransferError(const QString &message)
+
+ void FileDownloadManager::deleteReply(QNetworkReply *reply)
+ {
+- if (reply == this->reply) {
++ if (reply && reply == this->reply) {
+ if (!saved)
+ onPartDataTransfered();
+- delete reply;
+- this->reply = 0;
++ reply->deleteLater();
++ this->reply = nullptr;
+ }
+ }
+