Add message for constraint poll

Was confusing for Python devs when these fail silently
This commit is contained in:
Campbell Barton 2014-04-25 22:04:03 +10:00
parent fe52e64f6b
commit bef1edb322
Notes: blender-bot 2023-02-14 20:08:38 +01:00
Referenced by issue blender/blender-addons#39891, Childof_set_inverse
1 changed files with 14 additions and 2 deletions

View File

@ -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;
}