forked from bartvdbraak/blender
Fix T44026: ID prop delete leaves names in _RNA_UI
This commit is contained in:
parent
0ef9f61410
commit
1c329af74c
@ -32,6 +32,13 @@ def rna_idprop_ui_get(item, create=True):
|
||||
return None
|
||||
|
||||
|
||||
def rna_idprop_ui_del(item):
|
||||
try:
|
||||
del item['_RNA_UI']
|
||||
except KeyError:
|
||||
pass
|
||||
|
||||
|
||||
def rna_idprop_ui_prop_get(item, prop, create=True):
|
||||
|
||||
rna_ui = rna_idprop_ui_get(item, create)
|
||||
@ -46,7 +53,7 @@ def rna_idprop_ui_prop_get(item, prop, create=True):
|
||||
return rna_ui[prop]
|
||||
|
||||
|
||||
def rna_idprop_ui_prop_clear(item, prop):
|
||||
def rna_idprop_ui_prop_clear(item, prop, remove=True):
|
||||
rna_ui = rna_idprop_ui_get(item, False)
|
||||
|
||||
if rna_ui is None:
|
||||
@ -54,8 +61,10 @@ def rna_idprop_ui_prop_clear(item, prop):
|
||||
|
||||
try:
|
||||
del rna_ui[prop]
|
||||
except:
|
||||
except KeyError:
|
||||
pass
|
||||
if remove and len(item.keys()) == 1:
|
||||
rna_idprop_ui_del(item)
|
||||
|
||||
|
||||
def rna_idprop_context_value(context, context_member, property_type):
|
||||
|
@ -1296,9 +1296,13 @@ class WM_OT_properties_remove(Operator):
|
||||
property = rna_property
|
||||
|
||||
def execute(self, context):
|
||||
from rna_prop_ui import rna_idprop_ui_prop_clear
|
||||
data_path = self.data_path
|
||||
item = eval("context.%s" % data_path)
|
||||
del item[self.property]
|
||||
prop = self.property
|
||||
del item[prop]
|
||||
rna_idprop_ui_prop_clear(item, prop)
|
||||
|
||||
return {'FINISHED'}
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user