From bef1edb3222bed589b670a77acbc0d5ce7b2148a Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Fri, 25 Apr 2014 22:04:03 +1000 Subject: [PATCH] Add message for constraint poll Was confusing for Python devs when these fail silently --- .../blender/editors/object/object_constraint.c | 16 ++++++++++++++-- 1 file 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; }