[Bf-blender-cvs] [7fe81fe5a32] master: Fix T63090: Delete keyframe reports invalid for multiple objects

Campbell Barton noreply at git.blender.org
Fri Jul 19 10:44:27 CEST 2019


Commit: 7fe81fe5a320d9a4945a599ac4cb5af05f0b64e5
Author: Campbell Barton
Date:   Fri Jul 19 18:43:12 2019 +1000
Branches: master
https://developer.blender.org/rB7fe81fe5a320d9a4945a599ac4cb5af05f0b64e5

Fix T63090: Delete keyframe reports invalid for multiple objects

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

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

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

diff --git a/source/blender/editors/animation/keyframing.c b/source/blender/editors/animation/keyframing.c
index cab821e52ef..2e7ed7eae34 100644
--- a/source/blender/editors/animation/keyframing.c
+++ b/source/blender/editors/animation/keyframing.c
@@ -2249,10 +2249,16 @@ static int delete_key_v3d_exec(bContext *C, wmOperator *op)
   Scene *scene = CTX_data_scene(C);
   float cfra = (float)CFRA;
 
+  int selected_objects_len = 0;
+  int selected_objects_success_len = 0;
+  int success_multi = 0;
+
   CTX_DATA_BEGIN (C, Object *, ob, selected_objects) {
     ID *id = &ob->id;
     int success = 0;
 
+    selected_objects_len += 1;
+
     /* just those in active action... */
     if ((ob->adt) && (ob->adt->action)) {
       AnimData *adt = ob->adt;
@@ -2317,22 +2323,29 @@ static int delete_key_v3d_exec(bContext *C, wmOperator *op)
       DEG_id_tag_update(&ob->adt->action->id, ID_RECALC_ANIMATION_NO_FLUSH);
     }
 
-    /* report success (or failure) */
+    /* Only for reporting. */
     if (success) {
-      BKE_reportf(op->reports,
-                  RPT_INFO,
-                  "Object '%s' successfully had %d keyframes removed",
-                  id->name + 2,
-                  success);
-    }
-    else {
-      BKE_reportf(op->reports, RPT_ERROR, "No keyframes removed from Object '%s'", id->name + 2);
+      selected_objects_success_len += 1;
+      success_multi += success;
     }
 
     DEG_id_tag_update(&ob->id, ID_RECALC_TRANSFORM);
   }
   CTX_DATA_END;
 
+  /* report success (or failure) */
+  if (selected_objects_success_len) {
+    BKE_reportf(op->reports,
+                RPT_INFO,
+                "%d object(s) successfully had %d keyframes removed",
+                selected_objects_success_len,
+                success_multi);
+  }
+  else {
+    BKE_reportf(
+        op->reports, RPT_ERROR, "No keyframes removed from %d object(s)", selected_objects_len);
+  }
+
   /* send updates */
   WM_event_add_notifier(C, NC_OBJECT | ND_KEYS, NULL);



More information about the Bf-blender-cvs mailing list