Fix NetworkTexture not cleaning itself up on destruction

This commit is contained in:
Ryan Huffman 2017-04-27 13:03:42 -07:00
parent d8e4604b18
commit 4b0bd80c27
3 changed files with 18 additions and 1 deletions

View file

@ -330,6 +330,22 @@ private:
int _maxNumPixels;
};
NetworkTexture::~NetworkTexture() {
if (_ktxHeaderRequest || _ktxMipRequest) {
if (_ktxHeaderRequest) {
_ktxHeaderRequest->disconnect(this);
_ktxHeaderRequest->deleteLater();
_ktxHeaderRequest = nullptr;
}
if (_ktxMipRequest) {
_ktxMipRequest->disconnect(this);
_ktxMipRequest->deleteLater();
_ktxMipRequest = nullptr;
}
ResourceCache::requestCompleted(_self);
}
}
const uint16_t NetworkTexture::NULL_MIP_LEVEL = std::numeric_limits<uint16_t>::max();
void NetworkTexture::makeRequest() {
if (!_sourceIsKTX) {

View file

@ -46,6 +46,7 @@ class NetworkTexture : public Resource, public Texture {
public:
NetworkTexture(const QUrl& url, image::TextureUsage::Type type, const QByteArray& content, int maxNumPixels);
~NetworkTexture() override;
QString getType() const override { return "NetworkTexture"; }

View file

@ -344,7 +344,7 @@ class Resource : public QObject {
public:
Resource(const QUrl& url);
~Resource();
virtual ~Resource();
virtual QString getType() const { return "Resource"; }