Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/source
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2014-04-25 16:04:03 +0400
committerCampbell Barton <ideasman42@gmail.com>2014-04-25 16:05:18 +0400
commitbef1edb3222bed589b670a77acbc0d5ce7b2148a (patch)
treec49a699c44520b70aa9e256c9c3705cd20aa17eb /source
parentfe52e64f6b999329662afaf938c338c10d276a9f (diff)
Add message for constraint poll
Was confusing for Python devs when these fail silently
Diffstat (limited to 'source')
-rw-r--r--source/blender/editors/object/object_constraint.c16
1 files changed, 14 insertions, 2 deletions
diff --git a/source/blender/editors/object/object_constraint.c b/source/blender/editors/object/object_constraint.c
index 2e5ca3b7a6b..58575154eff 100644
--- a/source/blender/editors/object/object_constraint.c
+++ b/source/blender/editors/object/object_constraint.c
@@ -542,8 +542,20 @@ static int edit_constraint_poll_generic(bContext *C, StructRNA *rna_type)
PointerRNA ptr = CTX_data_pointer_get_type(C, "constraint", rna_type);
Object *ob = (ptr.id.data) ? ptr.id.data : ED_object_active_context(C);
- if (!ptr.data || !ob || ob->id.lib) return 0;
- if (ptr.id.data && ((ID *)ptr.id.data)->lib) return 0;
+ if (!ptr.data) {
+ CTX_wm_operator_poll_msg_set(C, "Context missing 'constraint'");
+ return 0;
+ }
+
+ if (!ob) {
+ CTX_wm_operator_poll_msg_set(C, "Context missing active object");
+ return 0;
+ }
+
+ if (ob->id.lib || (ptr.id.data && ((ID *)ptr.id.data)->lib)) {
+ CTX_wm_operator_poll_msg_set(C, "Cannot edit library data");
+ return 0;
+ }
return 1;
}