From 8a91d7f68cd0492be5bd9d141dbc8a39e0750d5b Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Fri, 20 Aug 2010 17:31:37 +0200 Subject: [PATCH] CodePaster: Do not leak the test reply, do not show empty message. ... on canceling. --- src/plugins/cpaster/protocol.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/plugins/cpaster/protocol.cpp b/src/plugins/cpaster/protocol.cpp index 00ea7bca153..615b466628b 100644 --- a/src/plugins/cpaster/protocol.cpp +++ b/src/plugins/cpaster/protocol.cpp @@ -128,7 +128,8 @@ bool Protocol::ensureConfiguration(Protocol *p, QWidget *parent) ok = true; break; } - if (!showConfigurationError(p, errorMessage, parent)) + // Cancel returns empty error message. + if (errorMessage.isEmpty() || !showConfigurationError(p, errorMessage, parent)) break; } return ok; @@ -209,19 +210,20 @@ bool NetworkProtocol::httpStatus(QString url, QString *errorMessage) url.prepend(httpPrefix); url.append(QLatin1Char('/')); } - QNetworkReply *reply = httpGet(url); + QScopedPointer reply(httpGet(url)); QMessageBox box(QMessageBox::Information, tr("Checking connection"), tr("Connecting to %1...").arg(url), QMessageBox::Cancel, Core::ICore::instance()->mainWindow()); - connect(reply, SIGNAL(finished()), &box, SLOT(close())); + connect(reply.data(), SIGNAL(finished()), &box, SLOT(close())); QApplication::setOverrideCursor(Qt::WaitCursor); box.exec(); QApplication::restoreOverrideCursor(); // User canceled, discard and be happy. if (!reply->isFinished()) { - connect(reply, SIGNAL(finished()), reply, SLOT(deleteLater())); + QNetworkReply *replyPtr = reply.take(); + connect(replyPtr, SIGNAL(finished()), replyPtr, SLOT(deleteLater())); return false; } // Passed