summaryrefslogtreecommitdiffstats
path: root/logic/net
diff options
context:
space:
mode:
Diffstat (limited to 'logic/net')
-rw-r--r--logic/net/ByteArrayDownload.cpp2
-rw-r--r--logic/net/CacheDownload.cpp2
-rw-r--r--logic/net/MD5EtagDownload.cpp2
-rw-r--r--logic/net/NetAction.h3
-rw-r--r--logic/net/NetJob.cpp4
-rw-r--r--logic/net/NetJob.h1
6 files changed, 8 insertions, 6 deletions
diff --git a/logic/net/ByteArrayDownload.cpp b/logic/net/ByteArrayDownload.cpp
index 9f71f911..7a41ee28 100644
--- a/logic/net/ByteArrayDownload.cpp
+++ b/logic/net/ByteArrayDownload.cpp
@@ -31,7 +31,7 @@ void ByteArrayDownload::start()
auto worker = ENV.qnam();
QNetworkReply *rep = worker->get(request);
- m_reply = std::shared_ptr<QNetworkReply>(rep);
+ m_reply.reset(rep);
connect(rep, SIGNAL(downloadProgress(qint64, qint64)),
SLOT(downloadProgress(qint64, qint64)));
connect(rep, SIGNAL(finished()), SLOT(downloadFinished()));
diff --git a/logic/net/CacheDownload.cpp b/logic/net/CacheDownload.cpp
index 6ddfc55f..0bbe75c3 100644
--- a/logic/net/CacheDownload.cpp
+++ b/logic/net/CacheDownload.cpp
@@ -77,7 +77,7 @@ void CacheDownload::start()
auto worker = ENV.qnam();
QNetworkReply *rep = worker->get(request);
- m_reply = std::shared_ptr<QNetworkReply>(rep);
+ m_reply.reset(rep);
connect(rep, SIGNAL(downloadProgress(qint64, qint64)),
SLOT(downloadProgress(qint64, qint64)));
connect(rep, SIGNAL(finished()), SLOT(downloadFinished()));
diff --git a/logic/net/MD5EtagDownload.cpp b/logic/net/MD5EtagDownload.cpp
index 6e1d0cfc..03752ea8 100644
--- a/logic/net/MD5EtagDownload.cpp
+++ b/logic/net/MD5EtagDownload.cpp
@@ -86,7 +86,7 @@ void MD5EtagDownload::start()
auto worker = ENV.qnam();
QNetworkReply *rep = worker->get(request);
- m_reply = std::shared_ptr<QNetworkReply>(rep);
+ m_reply.reset(rep);
connect(rep, SIGNAL(downloadProgress(qint64, qint64)),
SLOT(downloadProgress(qint64, qint64)));
connect(rep, SIGNAL(finished()), SLOT(downloadFinished()));
diff --git a/logic/net/NetAction.h b/logic/net/NetAction.h
index 81cb1bdb..b306bdfe 100644
--- a/logic/net/NetAction.h
+++ b/logic/net/NetAction.h
@@ -19,6 +19,7 @@
#include <QUrl>
#include <memory>
#include <QNetworkReply>
+#include <logic/QObjectPtr.h>
enum JobStatus
{
@@ -58,7 +59,7 @@ public:
public:
/// the network reply
- std::shared_ptr<QNetworkReply> m_reply;
+ QObjectPtr<QNetworkReply> m_reply;
/// the content of the content-type header
QString m_content_type;
diff --git a/logic/net/NetJob.cpp b/logic/net/NetJob.cpp
index e10afbc8..5a50b876 100644
--- a/logic/net/NetJob.cpp
+++ b/logic/net/NetJob.cpp
@@ -29,7 +29,7 @@ void NetJob::partSucceeded(int index)
m_doing.remove(index);
m_done.insert(index);
- disconnect(downloads[index].get(), 0, this, 0);
+ downloads[index].get()->disconnect(this);
startMoreParts();
}
@@ -46,7 +46,7 @@ void NetJob::partFailed(int index)
slot.failures++;
m_todo.enqueue(index);
}
- disconnect(downloads[index].get(), 0, this, 0);
+ downloads[index].get()->disconnect(this);
startMoreParts();
}
diff --git a/logic/net/NetJob.h b/logic/net/NetJob.h
index 0d8b7fbd..708afa79 100644
--- a/logic/net/NetJob.h
+++ b/logic/net/NetJob.h
@@ -108,6 +108,7 @@ private:
qint64 current_progress = 0;
qint64 total_progress = 1;
int failures = 0;
+ bool connected = false;
};
QString m_job_name;
QList<NetActionPtr> downloads;