Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Sharybin <sergey.vfx@gmail.com>2015-11-08 05:29:12 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2015-11-08 05:29:12 +0300
commit15a1faefe9b9963f4846502bd78dd36e228239cd (patch)
treed7accd63f889321caefe36f33b19fc7669b705c9 /source/blender/blenkernel/intern/scene.c
parent8c3538c3e7f816b43cb8cf33570e4082d5bec5ec (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.
Diffstat (limited to 'source/blender/blenkernel/intern/scene.c')
-rw-r--r--source/blender/blenkernel/intern/scene.c13
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;