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:
Mårten Nordheim 2021-04-15 17:51:55 +02:00 committed by Qt Cherry-pick Bot
parent 408a2e8d67
commit 3ec6e14771

View File

@ -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();
} }
/*! /*!