[Bf-blender-cvs] [e6141d7b3be] blender2.8: Fix T58117: Crash with keyframing, take two

Sergey Sharybin noreply at git.blender.org
Tue Dec 4 12:31:39 CET 2018


Commit: e6141d7b3be8520e030de7b9e57264a76aeb588d
Author: Sergey Sharybin
Date:   Tue Dec 4 12:11:25 2018 +0100
Branches: blender2.8
https://developer.blender.org/rBe6141d7b3be8520e030de7b9e57264a76aeb588d

Fix T58117: Crash with keyframing, take two

More operators need to become aware of action possibly being gone.

===================================================================

M	source/blender/editors/animation/keyframing.c

===================================================================

diff --git a/source/blender/editors/animation/keyframing.c b/source/blender/editors/animation/keyframing.c
index 9faa7a8e8cd..254569a345a 100644
--- a/source/blender/editors/animation/keyframing.c
+++ b/source/blender/editors/animation/keyframing.c
@@ -1302,7 +1302,13 @@ short delete_keyframe(Main *bmain, ReportList *reports, ID *id, bAction *act,
 		ret += delete_keyframe_fcurve(adt, fcu, cfra);
 
 	}
-
+	/* In the case last f-curve wes removed need to inform dependency graph
+	 * about relations update, since it needs to get rid of animation operation
+	 * for this datablock. */
+	if (ret && adt->action == NULL) {
+		DEG_id_tag_update_ex(bmain, id, DEG_TAG_COPY_ON_WRITE);
+		DEG_relations_tag_update(bmain);
+	}
 	/* return success/failure */
 	return ret;
 }
@@ -1395,7 +1401,8 @@ static short clear_keyframe(Main *bmain, ReportList *reports, ID *id, bAction *a
 	/* In the case last f-curve wes removed need to inform dependency graph
 	 * about relations update, since it needs to get rid of animation operation
 	 * for this datablock. */
-	if (adt->action == NULL) {
+	if (ret && adt->action == NULL) {
+		DEG_id_tag_update_ex(bmain, id, DEG_TAG_COPY_ON_WRITE);
 		DEG_relations_tag_update(bmain);
 	}
 	/* return success/failure */



More information about the Bf-blender-cvs mailing list