From ab15a1487e58ba90723cc9b2b11d6dc8c289d0bc Mon Sep 17 00:00:00 2001 From: Atlante45 Date: Tue, 1 Jul 2014 17:44:38 -0700 Subject: [PATCH] Switched BillboardOverlay to NetworkAccessManaqer --- interface/src/ui/overlays/BillboardOverlay.cpp | 16 +++++----------- interface/src/ui/overlays/BillboardOverlay.h | 3 +-- 2 files changed, 6 insertions(+), 13 deletions(-) diff --git a/interface/src/ui/overlays/BillboardOverlay.cpp b/interface/src/ui/overlays/BillboardOverlay.cpp index 40de565155..8742f19c3d 100644 --- a/interface/src/ui/overlays/BillboardOverlay.cpp +++ b/interface/src/ui/overlays/BillboardOverlay.cpp @@ -14,8 +14,7 @@ #include "BillboardOverlay.h" BillboardOverlay::BillboardOverlay() -: _manager(NULL), - _scale(1.0f), +: _scale(1.0f), _isFacingAvatar(true) { } @@ -119,18 +118,13 @@ void BillboardOverlay::setProperties(const QScriptValue &properties) { } } -// TODO: handle setting image multiple times, how do we manage releasing the bound texture? void BillboardOverlay::setBillboardURL(const QUrl url) { - // TODO: are we creating too many QNetworkAccessManager() when multiple calls to setImageURL are made? - _manager->deleteLater(); - _manager = new QNetworkAccessManager(); - connect(_manager, SIGNAL(finished(QNetworkReply*)), this, SLOT(replyFinished(QNetworkReply*))); - _manager->get(QNetworkRequest(url)); + QNetworkReply* reply = NetworkAccessManager::getInstance().get(QNetworkRequest(url)); + connect(reply, &QNetworkReply::finished, this, &BillboardOverlay::replyFinished); } -void BillboardOverlay::replyFinished(QNetworkReply* reply) { +void BillboardOverlay::replyFinished() { // replace our byte array with the downloaded data + QNetworkReply* reply = static_cast(sender()); _billboard = reply->readAll(); - _manager->deleteLater(); - _manager = NULL; } diff --git a/interface/src/ui/overlays/BillboardOverlay.h b/interface/src/ui/overlays/BillboardOverlay.h index 473e8a066f..0037d1a4f7 100644 --- a/interface/src/ui/overlays/BillboardOverlay.h +++ b/interface/src/ui/overlays/BillboardOverlay.h @@ -27,12 +27,11 @@ public: virtual void setProperties(const QScriptValue& properties); private slots: - void replyFinished(QNetworkReply* reply); + void replyFinished(); private: void setBillboardURL(const QUrl url); - QNetworkAccessManager* _manager; QUrl _url; QByteArray _billboard; QSize _size;