mirror of
https://github.com/overte-org/overte.git
synced 2025-04-23 18:13:29 +02:00
Merge pull request #3672 from ey6es/metavoxels
Fix for metavoxel stream crash/crash on exit.
This commit is contained in:
commit
9e086a8d08
4 changed files with 16 additions and 2 deletions
|
@ -48,6 +48,13 @@ MetavoxelSystem::NetworkSimulation::NetworkSimulation(float dropRate, float repe
|
|||
bandwidthLimit(bandwidthLimit) {
|
||||
}
|
||||
|
||||
MetavoxelSystem::~MetavoxelSystem() {
|
||||
// kill the updater before we delete our network simulation objects
|
||||
_updater->thread()->quit();
|
||||
_updater->thread()->wait();
|
||||
_updater = NULL;
|
||||
}
|
||||
|
||||
void MetavoxelSystem::init() {
|
||||
MetavoxelClientManager::init();
|
||||
DefaultMetavoxelRendererImplementation::init();
|
||||
|
|
|
@ -43,6 +43,8 @@ public:
|
|||
int maximumDelay = 0, int bandwidthLimit = 0);
|
||||
};
|
||||
|
||||
virtual ~MetavoxelSystem();
|
||||
|
||||
virtual void init();
|
||||
|
||||
virtual MetavoxelLOD getLOD();
|
||||
|
|
|
@ -27,8 +27,10 @@ MetavoxelClientManager::MetavoxelClientManager() :
|
|||
}
|
||||
|
||||
MetavoxelClientManager::~MetavoxelClientManager() {
|
||||
_updater->thread()->quit();
|
||||
_updater->thread()->wait();
|
||||
if (_updater) {
|
||||
_updater->thread()->quit();
|
||||
_updater->thread()->wait();
|
||||
}
|
||||
}
|
||||
|
||||
void MetavoxelClientManager::init() {
|
||||
|
|
|
@ -1040,6 +1040,9 @@ MetavoxelNode* MetavoxelNode::readSubdivision(MetavoxelStreamState& state) {
|
|||
}
|
||||
|
||||
void MetavoxelNode::writeSubdivision(MetavoxelStreamState& state) const {
|
||||
if (!state.shouldSubdivide()) {
|
||||
return;
|
||||
}
|
||||
bool leaf = isLeaf();
|
||||
if (!state.shouldSubdivideReference()) {
|
||||
state.base.stream << leaf;
|
||||
|
|
Loading…
Reference in a new issue