// 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;
#include "tileanimation.h"
#include "gettext.h"
#include "skyparams.h"
+#include <memory>
void Client::handleCommand_Deprecated(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)
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);
}
{
- 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);