From 86d4fedb95bb4b8712a07e9f1572239ebdd08e87 Mon Sep 17 00:00:00 2001 From: Joshua Goins Date: Sun, 26 May 2024 08:34:24 -0400 Subject: [PATCH] Don't try to download an invalid lodestone avatar --- launcher/src/account.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/launcher/src/account.cpp b/launcher/src/account.cpp index e552e7d..34c6a16 100644 --- a/launcher/src/account.cpp +++ b/launcher/src/account.cpp @@ -244,6 +244,7 @@ void Account::fetchAvatar() QUrl url; url.setScheme(m_launcher.settings()->preferredProtocol()); url.setHost(m_launcher.settings()->xivApiServer()); + url.setPath(QStringLiteral("/character/%1").arg(lodestoneId())); QNetworkRequest request(url); @@ -256,8 +257,12 @@ void Account::fetchAvatar() const QNetworkRequest avatarRequest(QUrl(document.object()["Character"_L1].toObject()["Avatar"_L1].toString())); Utility::printRequest(QStringLiteral("GET"), avatarRequest); + if (avatarRequest.url().isEmpty()) { + return; + } + auto avatarReply = m_launcher.mgr()->get(avatarRequest); - QObject::connect(avatarReply, &QNetworkReply::finished, [this, filename, avatarReply] { + connect(avatarReply, &QNetworkReply::finished, [this, filename, avatarReply] { QFile file(filename); file.open(QIODevice::ReadWrite); file.write(avatarReply->readAll());