QNetworkDiskCache: Switch to unique_ptr in most cases
Because take() is deprecated, and these pointers are meant to leave the scope in some branches. Change-Id: I5432d91a28f4c5c8c17fadf7ce3bcd41716e216a Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> (cherry picked from commit 54730b31faa51fcb7973cc465ca981dd7c18e8b0) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
parent
408a2e8d67
commit
3ec6e14771
@ -53,6 +53,8 @@
|
|||||||
#include <qcryptographichash.h>
|
#include <qcryptographichash.h>
|
||||||
#include <qdebug.h>
|
#include <qdebug.h>
|
||||||
|
|
||||||
|
#include <memory>
|
||||||
|
|
||||||
#define CACHE_POSTFIX QLatin1String(".d")
|
#define CACHE_POSTFIX QLatin1String(".d")
|
||||||
#define PREPARED_SLASH QLatin1String("prepared/")
|
#define PREPARED_SLASH QLatin1String("prepared/")
|
||||||
#define CACHE_VERSION 8
|
#define CACHE_VERSION 8
|
||||||
@ -196,7 +198,7 @@ QIODevice *QNetworkDiskCache::prepare(const QNetworkCacheMetaData &metaData)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
QScopedPointer<QCacheItem> cacheItem(new QCacheItem);
|
std::unique_ptr<QCacheItem> cacheItem = std::make_unique<QCacheItem>();
|
||||||
cacheItem->metaData = metaData;
|
cacheItem->metaData = metaData;
|
||||||
|
|
||||||
QIODevice *device = nullptr;
|
QIODevice *device = nullptr;
|
||||||
@ -218,7 +220,7 @@ QIODevice *QNetworkDiskCache::prepare(const QNetworkCacheMetaData &metaData)
|
|||||||
cacheItem->writeHeader(cacheItem->file);
|
cacheItem->writeHeader(cacheItem->file);
|
||||||
device = cacheItem->file;
|
device = cacheItem->file;
|
||||||
}
|
}
|
||||||
d->inserting[device] = cacheItem.take();
|
d->inserting[device] = cacheItem.release();
|
||||||
return device;
|
return device;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -395,7 +397,7 @@ QIODevice *QNetworkDiskCache::data(const QUrl &url)
|
|||||||
qDebug() << "QNetworkDiskCache::data()" << url;
|
qDebug() << "QNetworkDiskCache::data()" << url;
|
||||||
#endif
|
#endif
|
||||||
Q_D(QNetworkDiskCache);
|
Q_D(QNetworkDiskCache);
|
||||||
QScopedPointer<QBuffer> buffer;
|
std::unique_ptr<QBuffer> buffer;
|
||||||
if (!url.isValid())
|
if (!url.isValid())
|
||||||
return nullptr;
|
return nullptr;
|
||||||
if (d->lastItem.metaData.url() == url && d->lastItem.data.isOpen()) {
|
if (d->lastItem.metaData.url() == url && d->lastItem.data.isOpen()) {
|
||||||
@ -421,7 +423,7 @@ QIODevice *QNetworkDiskCache::data(const QUrl &url)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
buffer->open(QBuffer::ReadOnly);
|
buffer->open(QBuffer::ReadOnly);
|
||||||
return buffer.take();
|
return buffer.release();
|
||||||
}
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
Loading…
x
Reference in New Issue
Block a user