Fix T47250: OpenVDB crash
authorKévin Dietrich <kevin.dietrich@mailoo.org>
Wed, 27 Jan 2016 09:13:31 +0000 (10:13 +0100)
committerKévin Dietrich <kevin.dietrich@mailoo.org>
Wed, 27 Jan 2016 09:14:41 +0000 (10:14 +0100)
Issue was that the domain matrix was not initialized properly on the
first frame (in smokeModifier_init), which caused OpenVDB to throw an
exception for trying to create a VDB grid with non-affine transform.

source/blender/blenkernel/intern/smoke.c

index c7215cc7d4cdb2138faf96e08df23d8a13914f4d..d20994a2e39626f8a25d51dd233195655f42030e 100644 (file)
@@ -284,6 +284,7 @@ static int smokeModifier_init(SmokeModifierData *smd, Object *ob, Scene *scene,
                add_v3_fl(sds->shift_f, 0.5f);
                zero_v3(sds->prev_loc);
                mul_m4_v3(ob->obmat, sds->prev_loc);
+               copy_m4_m4(sds->obmat, ob->obmat);
 
                /* set resolutions */
                if (smd->domain->flags & MOD_SMOKE_ADAPTIVE_DOMAIN) {