Commit: 018f2724f86df198e08f690cd35f2f03deb4298b
Author: Antonio Vazquez
Date:   Fri Jun 22 16:09:33 2018 +0200
Branches: greasepencil-object
https://developer.blender.org/rB018f2724f86df198e08f690cd35f2f03deb4298b

Fix segment fault in Noise Modifier

The random init seed was not done in the right function.

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

M       source/blender/gpencil_modifiers/intern/MOD_gpencilnoise.c

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

diff --git a/source/blender/gpencil_modifiers/intern/MOD_gpencilnoise.c 
b/source/blender/gpencil_modifiers/intern/MOD_gpencilnoise.c
index 4239164e3ac..e10b5d605e3 100644
--- a/source/blender/gpencil_modifiers/intern/MOD_gpencilnoise.c
+++ b/source/blender/gpencil_modifiers/intern/MOD_gpencilnoise.c
@@ -70,11 +70,6 @@ static void initData(GpencilModifierData *md)
        gpmd->scene_frame = -999999;
        gpmd->gp_frame = -999999;
 
-       /* Random generator, only init once. */
-       uint rng_seed = (uint)(PIL_check_seconds_timer_i() & UINT_MAX);
-       rng_seed ^= GET_UINT_FROM_POINTER(gpmd);
-       gpmd->rng = BLI_rng_new(rng_seed);
-
        gpmd->vrand1 = 1.0;
        gpmd->vrand2 = 1.0;
 }
@@ -83,7 +78,7 @@ static void freeData(GpencilModifierData *md)
 {
        NoiseGpencilModifierData *mmd = (NoiseGpencilModifierData *)md;
 
-       if (mmd->rng) {
+       if (mmd->rng != NULL) {
                BLI_rng_free(mmd->rng);
        }
 }
@@ -116,6 +111,13 @@ static void deformStroke(
        int vindex = defgroup_name_index(ob, mmd->vgname);
        float weight = 1.0f;
 
+       /* Random generator, only init once. */
+       if (mmd->rng == NULL) {
+               uint rng_seed = (uint)(PIL_check_seconds_timer_i() & UINT_MAX);
+               rng_seed ^= GET_UINT_FROM_POINTER(mmd);
+               mmd->rng = BLI_rng_new(rng_seed);
+       }
+
        if (!is_stroke_affected_by_modifier(ob,
                mmd->layername, mmd->pass_index, 3, gpl, gps,
                mmd->flag & GP_NOISE_INVERT_LAYER, mmd->flag & 
GP_NOISE_INVERT_PASS))

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to