From 1be717d00783160200b354a03d660661628ea24a Mon Sep 17 00:00:00 2001 From: Bastien Montagne Date: Tue, 22 Nov 2016 12:21:25 +0100 Subject: Fix (unreported) crash when drawing armatures' poses in some cases. Was affecting armatures' pose drawing code, could try to draw with non-updated pose, which may contain NULL bone pointers (e.g. after some data-block management tool execution, like make local, remapping, etc.). --- source/blender/editors/space_view3d/drawarmature.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'source/blender/editors') diff --git a/source/blender/editors/space_view3d/drawarmature.c b/source/blender/editors/space_view3d/drawarmature.c index 1d9a515a5f2..95a2df68e4a 100644 --- a/source/blender/editors/space_view3d/drawarmature.c +++ b/source/blender/editors/space_view3d/drawarmature.c @@ -2723,6 +2723,11 @@ bool draw_armature(Scene *scene, View3D *v3d, ARegion *ar, Base *base, else { /* Draw Pose */ if (ob->pose && ob->pose->chanbase.first) { + /* We can't safely draw non-updated pose, might contain NULL bone pointers... */ + if (ob->pose->flag & POSE_RECALC) { + BKE_pose_rebuild(ob, arm); + } + /* drawing posemode selection indices or colors only in these cases */ if (!(base->flag & OB_FROMDUPLI)) { if (G.f & G_PICKSEL) { -- cgit v1.2.3