Merge with 2.5 -r 21756:22173.
[blender.git] / source / blender / makesrna / intern / rna_access.c
index c9bf97fd27438ac05bfb8e0f70ef3a96d19383b3..c141efc7ac6f2ae3558e2e7cb5e2aef798387ece 100644 (file)
@@ -752,7 +752,7 @@ int RNA_property_editable(PointerRNA *ptr, PropertyRNA *prop)
        
        id= ptr->id.data;
 
-       return (flag & PROP_EDITABLE) && (!id || !id->lib);
+       return (flag & PROP_EDITABLE) && (!id || !id->lib || (flag & PROP_LIB_EXCEPTION));
 }
 
 int RNA_property_animateable(PointerRNA *ptr, PropertyRNA *prop)
@@ -2524,6 +2524,18 @@ PointerRNA RNA_pointer_get(PointerRNA *ptr, const char *name)
        }
 }
 
+void RNA_pointer_set(PointerRNA *ptr, const char *name, PointerRNA ptr_value)
+{
+       PropertyRNA *prop= RNA_struct_find_property(ptr, name);
+
+       if(prop) {
+               RNA_property_pointer_set(ptr, prop, ptr_value);
+       }
+       else {
+               printf("RNA_pointer_set: %s.%s not found.\n", ptr->type->identifier, name);
+       }
+}
+
 void RNA_pointer_add(PointerRNA *ptr, const char *name)
 {
        PropertyRNA *prop= RNA_struct_find_property(ptr, name);