summaryrefslogtreecommitdiff
path: root/src/nxmaccessmanager.cpp
diff options
context:
space:
mode:
authorThomas Tanner <trtanner@btinternet.com>2015-10-12 12:54:19 +0100
committerThomas Tanner <trtanner@btinternet.com>2015-10-12 12:54:19 +0100
commit077a58f410b4d4ef32f7a9ebc0821f08c3cec6eb (patch)
treeba17c41455a06a74224a096544efd3c3355b3e21 /src/nxmaccessmanager.cpp
parentf5c86bc22c23374540d07ef63320b810c39e1df4 (diff)
parent7d93a9a2003f31188e4da8cbcd7e5df0352bb900 (diff)
Merge branch 'master' of https://github.com/TanninOne/modorganizer into archive_cleanup
# Conflicts: # src/installationmanager.cpp
Diffstat (limited to 'src/nxmaccessmanager.cpp')
-rw-r--r--src/nxmaccessmanager.cpp18
1 files changed, 12 insertions, 6 deletions
diff --git a/src/nxmaccessmanager.cpp b/src/nxmaccessmanager.cpp
index 07a75910..0763bb71 100644
--- a/src/nxmaccessmanager.cpp
+++ b/src/nxmaccessmanager.cpp
@@ -52,7 +52,6 @@ const std::set<int> NXMAccessManager::s_PremiumAccountStates { 4, 6, 13, 27, 31,
NXMAccessManager::NXMAccessManager(QObject *parent, const QString &moVersion)
: QNetworkAccessManager(parent)
, m_LoginReply(nullptr)
- , m_ProgressDialog()
, m_MOVersion(moVersion)
{
m_LoginTimeout.setSingleShot(true);
@@ -239,10 +238,11 @@ void NXMAccessManager::pageLogin()
request.setRawHeader("User-Agent", userAgent().toUtf8());
- m_ProgressDialog.setLabelText(tr("Logging into Nexus"));
- QList<QPushButton*> buttons = m_ProgressDialog.findChildren<QPushButton*>();
+ m_ProgressDialog = new QProgressDialog(nullptr);
+ m_ProgressDialog->setLabelText(tr("Logging into Nexus"));
+ QList<QPushButton*> buttons = m_ProgressDialog->findChildren<QPushButton*>();
buttons.at(0)->setEnabled(false);
- m_ProgressDialog.show();
+ m_ProgressDialog->show();
QCoreApplication::processEvents(); // for some reason the whole app hangs during the login. This way the user has at least a little feedback
m_LoginReply = post(request, postDataQuery);
@@ -269,7 +269,10 @@ void NXMAccessManager::loginTimeout()
void NXMAccessManager::loginError(QNetworkReply::NetworkError)
{
qDebug("login error");
- m_ProgressDialog.hide();
+ if (m_ProgressDialog != nullptr) {
+ m_ProgressDialog->deleteLater();
+ m_ProgressDialog = nullptr;
+ }
m_Username.clear();
m_Password.clear();
m_LoginState = LOGIN_NOT_VALID;
@@ -300,7 +303,10 @@ bool NXMAccessManager::hasLoginCookies() const
void NXMAccessManager::loginFinished()
{
- m_ProgressDialog.hide();
+ if (m_ProgressDialog != nullptr) {
+ m_ProgressDialog->deleteLater();
+ m_ProgressDialog = nullptr;
+ }
m_LoginReply->deleteLater();
m_LoginReply = nullptr;