Merge branch 'blender-v3.1-release'

This commit is contained in:
Campbell Barton 2022-02-23 16:29:51 +11:00
commit 3c0fd287cb
Notes: blender-bot 2023-02-14 06:47:29 +01:00
Referenced by issue #96068, Cloth Filter Doesn't Work 3.1, 3.2
2 changed files with 15 additions and 16 deletions

View File

@ -1038,9 +1038,6 @@ def _activate_by_item(context, space_type, item, index, *, as_fallback=False):
if props is None:
print("Error:", gizmo_group, "could not access properties!")
else:
for key in props.bl_rna.properties.keys():
props.property_unset(key)
gizmo_properties = item.widget_properties
if gizmo_properties is not None:
if not isinstance(gizmo_properties, list):

View File

@ -806,13 +806,25 @@ void WM_toolsystem_do_msg_notify_tag_refresh(bContext *C,
WM_toolsystem_refresh_screen_area(workspace, view_layer, area);
}
static IDProperty *idprops_ensure_named_group(IDProperty *group, const char *idname)
{
IDProperty *prop = IDP_GetPropertyFromGroup(group, idname);
if ((prop == NULL) || (prop->type != IDP_GROUP)) {
IDPropertyTemplate val = {0};
prop = IDP_New(IDP_GROUP, &val, __func__);
STRNCPY(prop->name, idname);
IDP_ReplaceInGroup_ex(group, prop, NULL);
}
return prop;
}
IDProperty *WM_toolsystem_ref_properties_ensure_idprops(bToolRef *tref)
{
if (tref->properties == NULL) {
IDPropertyTemplate val = {0};
tref->properties = IDP_New(IDP_GROUP, &val, "wmOperatorProperties");
tref->properties = IDP_New(IDP_GROUP, &val, __func__);
}
return tref->properties;
return idprops_ensure_named_group(tref->properties, tref->idname);
}
bool WM_toolsystem_ref_properties_get_ex(bToolRef *tref,
@ -832,17 +844,7 @@ void WM_toolsystem_ref_properties_ensure_ex(bToolRef *tref,
PointerRNA *r_ptr)
{
IDProperty *group = WM_toolsystem_ref_properties_ensure_idprops(tref);
IDProperty *prop = IDP_GetPropertyFromGroup(group, idname);
if (prop == NULL) {
IDPropertyTemplate val = {0};
prop = IDP_New(IDP_GROUP, &val, "wmGenericProperties");
STRNCPY(prop->name, idname);
IDP_ReplaceInGroup_ex(group, prop, NULL);
}
else {
BLI_assert(prop->type == IDP_GROUP);
}
IDProperty *prop = idprops_ensure_named_group(group, idname);
RNA_pointer_create(NULL, type, prop, r_ptr);
}