diff options
-rw-r--r-- | src/yuzu/discord_impl.cpp | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/src/yuzu/discord_impl.cpp b/src/yuzu/discord_impl.cpp index 913c7bb99..57b50abd0 100644 --- a/src/yuzu/discord_impl.cpp +++ b/src/yuzu/discord_impl.cpp @@ -4,8 +4,10 @@ #include <chrono> #include <string> +#include <QEventLoop> #include <QNetworkAccessManager> #include <QNetworkReply> + #include <discord_rpc.h> #include <fmt/format.h> @@ -89,19 +91,15 @@ void DiscordImpl::Update() { std::string icon_name = GetGameString(game_title); game_url = fmt::format("https://yuzu-emu.org/images/game/boxart/{}.png", icon_name); - QNetworkAccessManager* manager = new QNetworkAccessManager(); - + QNetworkAccessManager manager; QNetworkRequest request; request.setUrl(QUrl(QString::fromStdString(game_url))); request.setTransferTimeout(3000); - QNetworkReply* rep = manager->get(request); - - QObject::connect(manager, &QNetworkAccessManager::finished, - [this](QNetworkReply* reply) { UpdateGameStatus(reply->error()); }); - QObject::connect(manager, &QNetworkAccessManager::finished, manager, - &QNetworkAccessManager::deleteLater); - QObject::connect(manager, &QNetworkAccessManager::finished, rep, - &QNetworkReply::deleteLater); + QNetworkReply* reply = manager.head(request); + QEventLoop request_event_loop; + QObject::connect(reply, &QNetworkReply::finished, &request_event_loop, &QEventLoop::quit); + request_event_loop.exec(); + UpdateGameStatus(reply->error()); return; } |