Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'release/scripts/startup/bl_operators/wm.py')
-rw-r--r--release/scripts/startup/bl_operators/wm.py23
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 (