From e7c90438e014f5c2f951ec965db20eea1bd783fa Mon Sep 17 00:00:00 2001 From: Pablo Dobarro Date: Thu, 23 Jan 2020 21:12:20 +0100 Subject: [PATCH] Fix T73054: Add DNA defaults for pose_ik_segments This fixes the crash with pose_ik_segments = 0 in old files. Some files were saved with the property set to 0, so the versioning code won't work in that cases. I also changed that to fix the crash in those files. Reviewed By: brecht Maniphest Tasks: T73054 Differential Revision: https://developer.blender.org/D6663 --- source/blender/blenloader/intern/versioning_280.c | 4 ++-- source/blender/makesdna/DNA_brush_defaults.h | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/source/blender/blenloader/intern/versioning_280.c b/source/blender/blenloader/intern/versioning_280.c index 6d4dd98729a..afe0d728934 100644 --- a/source/blender/blenloader/intern/versioning_280.c +++ b/source/blender/blenloader/intern/versioning_280.c @@ -4356,8 +4356,8 @@ void blo_do_versions_280(FileData *fd, Library *UNUSED(lib), Main *bmain) } /* Pose brush IK segments. */ - if (!DNA_struct_elem_find(fd->filesdna, "Brush", "int", "pose_ik_segments")) { - for (Brush *br = bmain->brushes.first; br; br = br->id.next) { + for (Brush *br = bmain->brushes.first; br; br = br->id.next) { + if (br->pose_ik_segments == 0) { br->pose_ik_segments = 1; } } diff --git a/source/blender/makesdna/DNA_brush_defaults.h b/source/blender/makesdna/DNA_brush_defaults.h index f7998fab8db..eec154ea09d 100644 --- a/source/blender/makesdna/DNA_brush_defaults.h +++ b/source/blender/makesdna/DNA_brush_defaults.h @@ -96,6 +96,7 @@ /* sculpting defaults to the draw tool for new brushes */ \ .sculpt_tool = SCULPT_TOOL_DRAW, \ .pose_smooth_iterations = 4, \ + .pose_ik_segments = 1, \ \ /* A kernel radius of 1 has almost no effect (T63233). */ \ .blur_kernel_radius = 2, \