[Bf-blender-cvs] [b095c19] openvdb: Fix double freeing of OpenVDB data from dangling pointers in device data.

Lukas Tönne noreply at git.blender.org
Fri Nov 18 09:46:14 CET 2016


Commit: b095c1979fa6193a3b32414afbb5f62df67a9875
Author: Lukas Tönne
Date:   Fri Nov 18 09:45:11 2016 +0100
Branches: openvdb
https://developer.blender.org/rBb095c1979fa6193a3b32414afbb5f62df67a9875

Fix double freeing of OpenVDB data from dangling pointers in device data.

===================================================================

M	intern/cycles/render/volume.cpp

===================================================================

diff --git a/intern/cycles/render/volume.cpp b/intern/cycles/render/volume.cpp
index c8b4fe6..0fcb9a9 100644
--- a/intern/cycles/render/volume.cpp
+++ b/intern/cycles/render/volume.cpp
@@ -508,9 +508,14 @@ void VolumeManager::device_free(Device *device, DeviceScene *dscene)
 	for (size_t i = 0; i < vdb->scalar_main_isectors.size(); ++i) {
 		delete vdb->scalar_main_isectors[i];
 	}
+	vdb->scalar_grids.clear();
+	vdb->scalar_main_isectors.clear();
+	
 	for (size_t i = 0; i < vdb->vector_main_isectors.size(); ++i) {
 		delete vdb->vector_main_isectors[i];
 	}
+	vdb->vector_grids.clear();
+	vdb->vector_main_isectors.clear();
 #endif
 	
 	device->tex_free(dscene->vol_shader);




More information about the Bf-blender-cvs mailing list