Restore GCC 5 compatibility (#11778)

This commit is contained in:
JosiahWI 2021-12-28 07:05:49 -06:00 committed by GitHub
parent 0c4929f025
commit 7f6306ca96
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 7 additions and 6 deletions

@ -548,7 +548,7 @@ private:
// Set of media filenames pushed by server at runtime
std::unordered_set<std::string> m_media_pushed_files;
// Pending downloads of dynamic media (key: token)
std::vector<std::pair<u32, std::unique_ptr<SingleMediaDownloader>>> m_pending_media_downloads;
std::vector<std::pair<u32, std::shared_ptr<SingleMediaDownloader>>> m_pending_media_downloads;
// time_of_day speed approximation for old protocol
bool m_time_of_day_set = false;

@ -43,6 +43,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include "tileanimation.h"
#include "gettext.h"
#include "skyparams.h"
#include <memory>
void Client::handleCommand_Deprecated(NetworkPacket* pkt)
{
@ -1559,7 +1560,7 @@ void Client::handleCommand_MediaPush(NetworkPacket *pkt)
m_media_pushed_files.insert(filename);
// create a downloader for this file
auto downloader = new SingleMediaDownloader(cached);
auto downloader(std::make_shared<SingleMediaDownloader>(cached));
m_pending_media_downloads.emplace_back(token, downloader);
downloader->addFile(filename, raw_hash);
for (const auto &baseurl : m_remote_media_servers)

@ -37,11 +37,11 @@ static void writeChunk(std::ostringstream &target, const std::string &chunk_str)
std::string encodePNG(const u8 *data, u32 width, u32 height, s32 compression)
{
auto file = std::ostringstream(std::ios::binary);
std::ostringstream file(std::ios::binary);
file << "\x89PNG\r\n\x1a\n";
{
auto IHDR = std::ostringstream(std::ios::binary);
std::ostringstream IHDR(std::ios::binary);
IHDR << "IHDR";
writeU32(IHDR, width);
writeU32(IHDR, height);
@ -51,9 +51,9 @@ std::string encodePNG(const u8 *data, u32 width, u32 height, s32 compression)
}
{
auto IDAT = std::ostringstream(std::ios::binary);
std::ostringstream IDAT(std::ios::binary);
IDAT << "IDAT";
auto scanlines = std::ostringstream(std::ios::binary);
std::ostringstream scanlines(std::ios::binary);
for(u32 i = 0; i < height; i++) {
scanlines.write("\x00", 1); // Null predictor
scanlines.write((const char*) data + width * 4 * i, width * 4);