[Bf-blender-cvs] [f1b5b97] master: Fix T47559: Crash when scrubbing in time on a OpenVDB Smoke.
Kévin Dietrich
noreply at git.blender.org
Thu Feb 25 22:52:46 CET 2016
Commit: f1b5b97bed35bba7b0955d4255792c22f3de9eb3
Author: Kévin Dietrich
Date: Thu Feb 25 22:44:16 2016 +0100
Branches: master
https://developer.blender.org/rBf1b5b97bed35bba7b0955d4255792c22f3de9eb3
Fix T47559: Crash when scrubbing in time on a OpenVDB Smoke.
Cache reading was not using the right simulation flags (outdated), which
made it lookup non-existent grids, and crash on de-referencing null
pointers.
===================================================================
M source/blender/blenkernel/intern/pointcache.c
===================================================================
diff --git a/source/blender/blenkernel/intern/pointcache.c b/source/blender/blenkernel/intern/pointcache.c
index 4de924e..c8a42d8 100644
--- a/source/blender/blenkernel/intern/pointcache.c
+++ b/source/blender/blenkernel/intern/pointcache.c
@@ -1110,12 +1110,12 @@ static int ptcache_smoke_openvdb_read(struct OpenVDBReader *reader, void *smoke_
const char *name = (!sds->wt) ? "density" : "density low";
OpenVDB_import_grid_fl(reader, name, &dens, sds->res);
- if (fluid_fields & SM_ACTIVE_HEAT) {
+ if (cache_fields & SM_ACTIVE_HEAT) {
OpenVDB_import_grid_fl(reader, "heat", &heat, sds->res);
OpenVDB_import_grid_fl(reader, "heat old", &heatold, sds->res);
}
- if (fluid_fields & SM_ACTIVE_FIRE) {
+ if (cache_fields & SM_ACTIVE_FIRE) {
name = (!sds->wt) ? "flame" : "flame low";
OpenVDB_import_grid_fl(reader, name, &flame, sds->res);
name = (!sds->wt) ? "fuel" : "fuel low";
@@ -1124,7 +1124,7 @@ static int ptcache_smoke_openvdb_read(struct OpenVDBReader *reader, void *smoke_
OpenVDB_import_grid_fl(reader, name, &react, sds->res);
}
- if (fluid_fields & SM_ACTIVE_COLORS) {
+ if (cache_fields & SM_ACTIVE_COLORS) {
name = (!sds->wt) ? "color" : "color low";
OpenVDB_import_grid_vec(reader, name, &r, &g, &b, sds->res);
}
More information about the Bf-blender-cvs
mailing list