diff options
Diffstat (limited to 'release/scripts/startup/bl_operators/wm.py')
-rw-r--r-- | release/scripts/startup/bl_operators/wm.py | 23 |
1 files changed, 14 insertions, 9 deletions
diff --git a/release/scripts/startup/bl_operators/wm.py b/release/scripts/startup/bl_operators/wm.py index 387e93cb769..bd1c99fdeb3 100644 --- a/release/scripts/startup/bl_operators/wm.py +++ b/release/scripts/startup/bl_operators/wm.py @@ -1147,10 +1147,11 @@ rna_default = StringProperty( maxlen=1024, ) -rna_property = StringProperty( +rna_custom_property = StringProperty( name="Property Name", description="Property name edit", - maxlen=1024, + # Match `MAX_IDPROP_NAME - 1` in Blender's source. + maxlen=63, ) rna_min = FloatProperty( @@ -1196,7 +1197,7 @@ class WM_OT_properties_edit(Operator): bl_options = {'REGISTER', 'INTERNAL'} data_path: rna_path - property: rna_property + property: rna_custom_property value: rna_value default: rna_default min: rna_min @@ -1265,6 +1266,7 @@ class WM_OT_properties_edit(Operator): data_path = self.data_path prop = self.property + prop_escape = bpy.utils.escape_identifier(prop) prop_old = getattr(self, "_last_prop", [None])[0] @@ -1289,7 +1291,7 @@ class WM_OT_properties_edit(Operator): # Reassign item[prop] = value_eval - item.property_overridable_library_set('["%s"]' % prop, self.is_overridable_library) + item.property_overridable_library_set('["%s"]' % prop_escape, self.is_overridable_library) rna_idprop_ui_prop_update(item, prop) self._last_prop[:] = [prop] @@ -1322,7 +1324,7 @@ class WM_OT_properties_edit(Operator): # If we have changed the type of the property, update its potential anim curves! if prop_type_old != prop_type_new: - data_path = '["%s"]' % bpy.utils.escape_identifier(prop) + data_path = '["%s"]' % prop_escape done = set() def _update(fcurves): @@ -1364,13 +1366,16 @@ class WM_OT_properties_edit(Operator): rna_idprop_value_item_type ) + prop = self.property + prop_escape = bpy.utils.escape_identifier(prop) + data_path = self.data_path if not data_path: self.report({'ERROR'}, "Data path not set") return {'CANCELLED'} - self._last_prop = [self.property] + self._last_prop = [prop] item = eval("context.%s" % data_path) @@ -1379,7 +1384,7 @@ class WM_OT_properties_edit(Operator): return {'CANCELLED'} # retrieve overridable static - is_overridable = item.is_property_overridable_library('["%s"]' % self.property) + is_overridable = item.is_property_overridable_library('["%s"]' % prop_escape) self.is_overridable_library = bool(is_overridable) # default default value @@ -1390,7 +1395,7 @@ class WM_OT_properties_edit(Operator): self.default = "" # setup defaults - prop_ui = rna_idprop_ui_prop_get(item, self.property, False) # don't create + prop_ui = rna_idprop_ui_prop_get(item, prop, False) # don't create if prop_ui: self.min = prop_ui.get("min", -1000000000) self.max = prop_ui.get("max", 1000000000) @@ -1548,7 +1553,7 @@ class WM_OT_properties_remove(Operator): bl_options = {'UNDO', 'INTERNAL'} data_path: rna_path - property: rna_property + property: rna_custom_property def execute(self, context): from rna_prop_ui import ( |