From c6b72dfe3c8c76534c3e79641633c56e5f423faf Mon Sep 17 00:00:00 2001 From: Brad Davis Date: Wed, 22 Feb 2017 12:04:29 -0800 Subject: [PATCH] Make memory storage mutable --- libraries/shared/src/shared/Storage.cpp | 4 +++- libraries/shared/src/shared/Storage.h | 3 ++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/libraries/shared/src/shared/Storage.cpp b/libraries/shared/src/shared/Storage.cpp index dacb840de7..3b83676bc8 100644 --- a/libraries/shared/src/shared/Storage.cpp +++ b/libraries/shared/src/shared/Storage.cpp @@ -33,7 +33,9 @@ FileStoragePointer Storage::toFileStorage(const QString& filename) const { MemoryStorage::MemoryStorage(size_t size, const uint8_t* data) { _data.resize(size); - memcpy(_data.data(), data, size); + if (data) { + memcpy(_data.data(), data, size); + } } FileStoragePointer FileStorage::create(const QString& filename, size_t size, const uint8_t* data) { diff --git a/libraries/shared/src/shared/Storage.h b/libraries/shared/src/shared/Storage.h index 4dbb2a03a5..b79b9d6080 100644 --- a/libraries/shared/src/shared/Storage.h +++ b/libraries/shared/src/shared/Storage.h @@ -43,8 +43,9 @@ namespace storage { class MemoryStorage : public Storage { public: - MemoryStorage(size_t size, const uint8_t* data); + MemoryStorage(size_t size, const uint8_t* data = nullptr); const uint8_t* data() const override { return _data.data(); } + uint8_t* data() { return _data.data(); } size_t size() const override { return _data.size(); } private: std::vector _data;