diff options
author | Janrupf <business.janrupf@gmail.com> | 2021-12-29 16:54:20 +0100 |
---|---|---|
committer | Janrupf <business.janrupf@gmail.com> | 2021-12-29 19:45:15 +0100 |
commit | 6fe07561fe8dc32d61b7c50ed962faa87eba78eb (patch) | |
tree | 46892daeac0b17a6e3d877679859677c2c7f3314 /launcher | |
parent | 4063a496d707ededdb7d20adccb7256f52c4c773 (diff) | |
download | PrismLauncher-6fe07561fe8dc32d61b7c50ed962faa87eba78eb.tar.gz PrismLauncher-6fe07561fe8dc32d61b7c50ed962faa87eba78eb.tar.bz2 PrismLauncher-6fe07561fe8dc32d61b7c50ed962faa87eba78eb.zip |
GH-4299 Don't hard crash on when missing network
Diffstat (limited to 'launcher')
-rw-r--r-- | launcher/net/NetJob.cpp | 6 | ||||
-rw-r--r-- | launcher/net/NetJob.h | 9 |
2 files changed, 6 insertions, 9 deletions
diff --git a/launcher/net/NetJob.cpp b/launcher/net/NetJob.cpp index 9bad89ed..b190b3e9 100644 --- a/launcher/net/NetJob.cpp +++ b/launcher/net/NetJob.cpp @@ -98,6 +98,12 @@ void NetJob::partProgress(int index, qint64 bytesReceived, qint64 bytesTotal) void NetJob::executeTask() { + if(!m_network) { + qCritical() << "Attempted to start NetJob" << objectName() << "without the network set!"; + emitFailed(tr("Internal error: NetJob '%1' has been started without a network pointer!").arg(objectName())); + return; + } + // hack that delays early failures so they can be caught easier QMetaObject::invokeMethod(this, "startMoreParts", Qt::QueuedConnection); } diff --git a/launcher/net/NetJob.h b/launcher/net/NetJob.h index 45b9bc0f..2f272da4 100644 --- a/launcher/net/NetJob.h +++ b/launcher/net/NetJob.h @@ -67,15 +67,6 @@ public slots: virtual bool abort() override; virtual void start(shared_qobject_ptr<QNetworkAccessManager> network) { m_network = network; - start(); - } - -protected slots: - void start() override { - if(!m_network) { - throw "Missing network while trying to start " + objectName(); - return; - } Task::start(); } |