[Bf-blender-cvs] [6cc7892] master: Select Grouped -> KeyingSet for bones also shows error messages now when the Keying Set is inappropriate
Joshua Leung
noreply at git.blender.org
Thu Jul 3 14:18:20 CEST 2014
Commit: 6cc78927a301a35dcfdb0bd3ccd03cc3ca3a8863
Author: Joshua Leung
Date: Thu Jun 26 16:46:19 2014 +1200
https://developer.blender.org/rB6cc78927a301a35dcfdb0bd3ccd03cc3ca3a8863
Select Grouped -> KeyingSet for bones also shows error messages now when the Keying Set is inappropriate
===================================================================
M source/blender/editors/armature/pose_select.c
M source/blender/editors/object/object_select.c
===================================================================
diff --git a/source/blender/editors/armature/pose_select.c b/source/blender/editors/armature/pose_select.c
index a626463..b0a8268 100644
--- a/source/blender/editors/armature/pose_select.c
+++ b/source/blender/editors/armature/pose_select.c
@@ -45,6 +45,7 @@
#include "BKE_context.h"
#include "BKE_depsgraph.h"
#include "BKE_object.h"
+#include "BKE_report.h"
#include "RNA_access.h"
#include "RNA_define.h"
@@ -732,7 +733,7 @@ static bool pose_select_same_layer(bContext *C, Object *ob, bool extend)
return changed;
}
-static bool pose_select_same_keyingset(bContext *C, Object *ob, bool extend)
+static bool pose_select_same_keyingset(bContext *C, ReportList *reports, Object *ob, bool extend)
{
KeyingSet *ks = ANIM_scene_get_active_keyingset(CTX_data_scene(C));
KS_Path *ksp;
@@ -742,11 +743,26 @@ static bool pose_select_same_keyingset(bContext *C, Object *ob, bool extend)
bool changed = false;
/* sanity checks: validate Keying Set and object */
- if ((ks == NULL) || (ANIM_validate_keyingset(C, NULL, ks) != 0))
- return 0;
+ if (ks == NULL) {
+ BKE_report(reports, RPT_ERROR, "No active Keying Set to use");
+ return false;
+ }
+ else if (ANIM_validate_keyingset(C, NULL, ks) != 0) {
+ if (ks->paths.first == NULL) {
+ if ((ks->flag & KEYINGSET_ABSOLUTE) == 0) {
+ BKE_report(reports, RPT_ERROR,
+ "Use another Keying Set, as the active one depends on the currently "
+ "selected items or cannot find any targets due to unsuitable context");
+ }
+ else {
+ BKE_report(reports, RPT_ERROR, "Keying Set does not contain any paths");
+ }
+ }
+ return false;
+ }
if (ELEM3(NULL, ob, pose, arm))
- return 0;
+ return false;
/* if not extending selection, deselect all selected first */
if (extend == false) {
@@ -811,7 +827,7 @@ static int pose_select_grouped_exec(bContext *C, wmOperator *op)
break;
case POSE_SEL_SAME_KEYINGSET: /* Keying Set */
- changed = pose_select_same_keyingset(C, ob, extend);
+ changed = pose_select_same_keyingset(C, op->reports, ob, extend);
break;
default:
diff --git a/source/blender/editors/object/object_select.c b/source/blender/editors/object/object_select.c
index 2e1e8a9..5590d02 100644
--- a/source/blender/editors/object/object_select.c
+++ b/source/blender/editors/object/object_select.c
@@ -797,7 +797,7 @@ static bool select_grouped_keyingset(bContext *C, Object *UNUSED(ob), ReportList
BKE_report(reports, RPT_ERROR, "Keying Set does not contain any paths");
}
}
- return 0;
+ return false;
}
/* select each object that Keying Set refers to */
More information about the Bf-blender-cvs
mailing list