Fix for annoying "QThreadStorage" warning.

This commit is contained in:
Andrzej Kapolka 2014-03-03 13:39:01 -08:00
parent 252186450b
commit 85083d74bc
3 changed files with 11 additions and 7 deletions

View file

@ -358,6 +358,8 @@ Application::~Application() {
_myAvatar = NULL; _myAvatar = NULL;
delete _glWidget; delete _glWidget;
AccountManager::getInstance().destroy();
} }
void Application::restoreSizeAndPosition() { void Application::restoreSizeAndPosition() {

View file

@ -35,7 +35,7 @@ const QString ACCOUNTS_GROUP = "accounts";
AccountManager::AccountManager() : AccountManager::AccountManager() :
_authURL(), _authURL(),
_networkAccessManager(), _networkAccessManager(new QNetworkAccessManager(this)),
_pendingCallbackMap(), _pendingCallbackMap(),
_accountInfo() _accountInfo()
{ {
@ -130,16 +130,16 @@ void AccountManager::invokedRequest(const QString& path, QNetworkAccessManager::
switch (operation) { switch (operation) {
case QNetworkAccessManager::GetOperation: case QNetworkAccessManager::GetOperation:
networkReply = _networkAccessManager.get(authenticatedRequest); networkReply = _networkAccessManager->get(authenticatedRequest);
break; break;
case QNetworkAccessManager::PostOperation: case QNetworkAccessManager::PostOperation:
case QNetworkAccessManager::PutOperation: case QNetworkAccessManager::PutOperation:
authenticatedRequest.setHeader(QNetworkRequest::ContentTypeHeader, "application/json"); authenticatedRequest.setHeader(QNetworkRequest::ContentTypeHeader, "application/json");
if (operation == QNetworkAccessManager::PostOperation) { if (operation == QNetworkAccessManager::PostOperation) {
networkReply = _networkAccessManager.post(authenticatedRequest, dataByteArray); networkReply = _networkAccessManager->post(authenticatedRequest, dataByteArray);
} else { } else {
networkReply = _networkAccessManager.put(authenticatedRequest, dataByteArray); networkReply = _networkAccessManager->put(authenticatedRequest, dataByteArray);
} }
break; break;
@ -242,7 +242,7 @@ void AccountManager::requestAccessToken(const QString& login, const QString& pas
request.setUrl(grantURL); request.setUrl(grantURL);
request.setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded"); request.setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded");
QNetworkReply* requestReply = _networkAccessManager.post(request, postData); QNetworkReply* requestReply = _networkAccessManager->post(request, postData);
connect(requestReply, &QNetworkReply::finished, this, &AccountManager::requestFinished); connect(requestReply, &QNetworkReply::finished, this, &AccountManager::requestFinished);
connect(requestReply, SIGNAL(error(QNetworkReply::NetworkError)), this, SLOT(requestError(QNetworkReply::NetworkError))); connect(requestReply, SIGNAL(error(QNetworkReply::NetworkError)), this, SLOT(requestError(QNetworkReply::NetworkError)));
} }
@ -292,4 +292,4 @@ void AccountManager::requestFinished() {
void AccountManager::requestError(QNetworkReply::NetworkError error) { void AccountManager::requestError(QNetworkReply::NetworkError error) {
// TODO: error handling // TODO: error handling
qDebug() << "AccountManager requestError - " << error; qDebug() << "AccountManager requestError - " << error;
} }

View file

@ -53,6 +53,8 @@ public:
QString getUsername() const { return _accountInfo.getUsername(); } QString getUsername() const { return _accountInfo.getUsername(); }
void destroy() { delete _networkAccessManager; }
public slots: public slots:
void requestFinished(); void requestFinished();
void requestError(QNetworkReply::NetworkError error); void requestError(QNetworkReply::NetworkError error);
@ -76,7 +78,7 @@ private:
const JSONCallbackParameters& callbackParams, const QByteArray& dataByteArray); const JSONCallbackParameters& callbackParams, const QByteArray& dataByteArray);
QUrl _authURL; QUrl _authURL;
QNetworkAccessManager _networkAccessManager; QNetworkAccessManager* _networkAccessManager;
QMap<QNetworkReply*, JSONCallbackParameters> _pendingCallbackMap; QMap<QNetworkReply*, JSONCallbackParameters> _pendingCallbackMap;
DataServerAccountInfo _accountInfo; DataServerAccountInfo _accountInfo;