[Bf-blender-cvs] [018f2724f86] greasepencil-object: Fix segment fault in Noise Modifier
Antonio Vazquez
noreply at git.blender.org
Fri Jun 22 16:09:51 CEST 2018
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))
More information about the Bf-blender-cvs
mailing list