diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2015-11-08 05:29:12 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2015-11-08 05:29:12 +0300 |
commit | 15a1faefe9b9963f4846502bd78dd36e228239cd (patch) | |
tree | d7accd63f889321caefe36f33b19fc7669b705c9 | |
parent | 8c3538c3e7f816b43cb8cf33570e4082d5bec5ec (diff) |
Fix T46712: Crash while rendering Freestyle scene
The issue was in fact caused by missing initialization of motion blur shutter
curve for all new scenes when not using "Copy Scene Settings" option.
-rw-r--r-- | source/blender/blenkernel/intern/scene.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/source/blender/blenkernel/intern/scene.c b/source/blender/blenkernel/intern/scene.c index 47f9aecfc63..addf32919a3 100644 --- a/source/blender/blenkernel/intern/scene.c +++ b/source/blender/blenkernel/intern/scene.c @@ -259,6 +259,8 @@ Scene *BKE_scene_copy(Scene *sce, int type) } new_srl = new_srl->next; } + + curvemapping_copy_data(&scen->r.mblur_shutter_curve, &sce->r.mblur_shutter_curve); } /* tool settings */ @@ -351,8 +353,6 @@ Scene *BKE_scene_copy(Scene *sce, int type) scen->preview = BKE_previewimg_copy(sce->preview); } - curvemapping_copy_data(&scen->r.mblur_shutter_curve, &sce->r.mblur_shutter_curve); - return scen; } @@ -473,6 +473,7 @@ void BKE_scene_init(Scene *sce) int a; const char *colorspace_name; SceneRenderView *srv; + CurveMapping *mblur_shutter_curve; BLI_assert(MEMCMP_STRUCT_OFS_IS_ZERO(sce, id)); @@ -577,6 +578,14 @@ void BKE_scene_init(Scene *sce) sce->r.line_thickness_mode = R_LINE_THICKNESS_ABSOLUTE; sce->r.unit_line_thickness = 1.0f; + mblur_shutter_curve = &sce->r.mblur_shutter_curve; + curvemapping_set_defaults(mblur_shutter_curve, 1, 0.0f, 0.0f, 1.0f, 1.0f); + curvemapping_initialize(mblur_shutter_curve); + curvemap_reset(mblur_shutter_curve->cm, + &mblur_shutter_curve->clipr, + CURVE_PRESET_MAX, + CURVEMAP_SLOPE_POS_NEG); + sce->toolsettings = MEM_callocN(sizeof(struct ToolSettings), "Tool Settings Struct"); sce->toolsettings->doublimit = 0.001; sce->toolsettings->vgroup_weight = 1.0f; |