diff --git a/assignment-client/src/metavoxels/MetavoxelServer.cpp b/assignment-client/src/metavoxels/MetavoxelServer.cpp index f18fbb6c87..0ee0ab51a9 100644 --- a/assignment-client/src/metavoxels/MetavoxelServer.cpp +++ b/assignment-client/src/metavoxels/MetavoxelServer.cpp @@ -29,7 +29,7 @@ void MetavoxelServer::applyEdit(const MetavoxelEditMessage& edit) { } void MetavoxelServer::removeSession(const QUuid& sessionId) { - delete _sessions.take(sessionId); + _sessions.take(sessionId)->deleteLater(); } const char METAVOXEL_SERVER_LOGGING_NAME[] = "metavoxel-server"; diff --git a/interface/src/MetavoxelSystem.cpp b/interface/src/MetavoxelSystem.cpp index 46617edab1..309eef3a95 100644 --- a/interface/src/MetavoxelSystem.cpp +++ b/interface/src/MetavoxelSystem.cpp @@ -24,6 +24,12 @@ MetavoxelSystem::MetavoxelSystem() : _buffer(QOpenGLBuffer::VertexBuffer) { } +MetavoxelSystem::~MetavoxelSystem() { + for (QHash::const_iterator it = _clients.begin(); it != _clients.end(); it++) { + delete it.value(); + } +} + void MetavoxelSystem::init() { if (!_program.isLinked()) { switchToResourcesParentIfRequired(); diff --git a/interface/src/MetavoxelSystem.h b/interface/src/MetavoxelSystem.h index 3a8fa3378c..0956a9d0d3 100644 --- a/interface/src/MetavoxelSystem.h +++ b/interface/src/MetavoxelSystem.h @@ -32,6 +32,7 @@ class MetavoxelSystem : public QObject { public: MetavoxelSystem(); + ~MetavoxelSystem(); void init();