[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [31662] trunk/blender/source/blender/ python/intern/bpy_rna.c: raise an error when setting the values of read-only rna wrapped Vector/ Matrix/Euler/Quat
Campbell Barton
ideasman42 at gmail.com
Mon Aug 30 14:27:34 CEST 2010
Revision: 31662
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=31662
Author: campbellbarton
Date: 2010-08-30 14:27:34 +0200 (Mon, 30 Aug 2010)
Log Message:
-----------
raise an error when setting the values of read-only rna wrapped Vector/Matrix/Euler/Quat
Modified Paths:
--------------
trunk/blender/source/blender/python/intern/bpy_rna.c
Modified: trunk/blender/source/blender/python/intern/bpy_rna.c
===================================================================
--- trunk/blender/source/blender/python/intern/bpy_rna.c 2010-08-30 10:08:08 UTC (rev 31661)
+++ trunk/blender/source/blender/python/intern/bpy_rna.c 2010-08-30 12:27:34 UTC (rev 31662)
@@ -100,6 +100,11 @@
float min, max;
if(self->prop==NULL)
return 0;
+
+ if (!RNA_property_editable_flag(&self->ptr, self->prop)) {
+ PyErr_Format(PyExc_AttributeError, "bpy_prop \"%.200s.%.200s\" is read-only", RNA_struct_identifier(self->ptr.type), RNA_property_identifier(self->prop));
+ return 0;
+ }
RNA_property_float_range(&self->ptr, self->prop, &min, &max);
@@ -143,6 +148,11 @@
if(self->prop==NULL)
return 0;
+
+ if (!RNA_property_editable_flag(&self->ptr, self->prop)) {
+ PyErr_Format(PyExc_AttributeError, "bpy_prop \"%.200s.%.200s\" is read-only", RNA_struct_identifier(self->ptr.type), RNA_property_identifier(self->prop));
+ return 0;
+ }
RNA_property_float_clamp(&self->ptr, self->prop, &bmo->data[index]);
RNA_property_float_set_index(&self->ptr, self->prop, index, bmo->data[index]);
@@ -179,6 +189,12 @@
if(self->prop==NULL)
return 0;
+
+ if (!RNA_property_editable_flag(&self->ptr, self->prop)) {
+ PyErr_Format(PyExc_AttributeError, "bpy_prop \"%.200s.%.200s\" is read-only", RNA_struct_identifier(self->ptr.type), RNA_property_identifier(self->prop));
+ return 0;
+ }
+
/* can ignore clamping here */
RNA_property_float_set_array(&self->ptr, self->prop, bmo->data);
RNA_property_update(BPy_GetContext(), &self->ptr, self->prop);
More information about the Bf-blender-cvs
mailing list