diff --git a/include/openspace/util/syncbuffer.h b/include/openspace/util/syncbuffer.h index 7f97952687..3bf6b2a029 100644 --- a/include/openspace/util/syncbuffer.h +++ b/include/openspace/util/syncbuffer.h @@ -107,7 +107,7 @@ private: size_t _encodeOffset; size_t _decodeOffset; std::vector _dataStream; - sgct::SharedVector _synchronizationBuffer; + sgct::SharedVector* _synchronizationBuffer; }; } // namespace openspace diff --git a/src/util/syncbuffer.cpp b/src/util/syncbuffer.cpp index 555cf875d4..f1a68c39df 100644 --- a/src/util/syncbuffer.cpp +++ b/src/util/syncbuffer.cpp @@ -34,18 +34,19 @@ SyncBuffer::SyncBuffer(size_t n) , _decodeOffset(0) { _dataStream.resize(_n); + _synchronizationBuffer = new sgct::SharedVector(); } void SyncBuffer::write() { - _synchronizationBuffer.setVal(_dataStream); - sgct::SharedData::instance()->writeVector(&_synchronizationBuffer); + _synchronizationBuffer->setVal(_dataStream); + sgct::SharedData::instance()->writeVector(_synchronizationBuffer); _encodeOffset = 0; _decodeOffset = 0; } void SyncBuffer::read() { - sgct::SharedData::instance()->readVector(&_synchronizationBuffer); - _dataStream = std::move(_synchronizationBuffer.getVal()); + sgct::SharedData::instance()->readVector(_synchronizationBuffer); + _dataStream = std::move(_synchronizationBuffer->getVal()); _encodeOffset = 0; _decodeOffset = 0; }