[Bf-blender-cvs] [bef1edb] master: Add message for constraint poll

Campbell Barton noreply at git.blender.org
Fri Apr 25 14:05:39 CEST 2014


Commit: bef1edb3222bed589b670a77acbc0d5ce7b2148a
Author: Campbell Barton
Date:   Fri Apr 25 22:04:03 2014 +1000
https://developer.blender.org/rBbef1edb3222bed589b670a77acbc0d5ce7b2148a

Add message for constraint poll

Was confusing for Python devs when these fail silently

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

M	source/blender/editors/object/object_constraint.c

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

diff --git a/source/blender/editors/object/object_constraint.c b/source/blender/editors/object/object_constraint.c
index 2e5ca3b..5857515 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;
 }




More information about the Bf-blender-cvs mailing list