Gcc doesn't like QTemporaryFile in a map so store unique ptrs

This commit is contained in:
Simon Walton 2018-11-16 14:50:03 -08:00
parent 5f51ed0210
commit 5883035991
2 changed files with 4 additions and 3 deletions

View file

@ -2524,10 +2524,11 @@ bool DomainServer::processPendingContent(HTTPConnection* connection, QString ite
const auto peerAddressHash = qHash(connection->socket()->peerAddress());
if (_pendingContentFiles.find(peerAddressHash) == _pendingContentFiles.end()) {
_pendingContentFiles.emplace(peerAddressHash, TEMPORARY_CONTENT_FILEPATH);
std::unique_ptr<QTemporaryFile> newTemp(new QTemporaryFile(TEMPORARY_CONTENT_FILEPATH));
_pendingContentFiles[peerAddressHash] = std::move(newTemp);
}
QTemporaryFile& _pendingFileContent = _pendingContentFiles[peerAddressHash];
QTemporaryFile& _pendingFileContent = *_pendingContentFiles[peerAddressHash];
if (!_pendingFileContent.open()) {
_pendingContentFiles.erase(peerAddressHash);
connection->respond(HTTPConnection::StatusCode400);

View file

@ -285,7 +285,7 @@ private:
QHash<QUuid, QPointer<HTTPSConnection>> _pendingOAuthConnections;
std::unordered_map<uint, QByteArray> _pendingUploadedContents;
std::unordered_map<uint, QTemporaryFile> _pendingContentFiles;
std::unordered_map<uint, std::unique_ptr<QTemporaryFile>> _pendingContentFiles;
QThread _assetClientThread;
};