[Bf-blender-cvs] [8e46ef2fa5e] master: Sculpt: Fix crash when sculpting after disabling dyntopo
Joseph Eagar
noreply at git.blender.org
Thu Dec 8 13:41:57 CET 2022
Commit: 8e46ef2fa5e63b145e1f448a77a1878d5f265d54
Author: Joseph Eagar
Date: Thu Dec 8 04:40:42 2022 -0800
Branches: master
https://developer.blender.org/rB8e46ef2fa5e63b145e1f448a77a1878d5f265d54
Sculpt: Fix crash when sculpting after disabling dyntopo
Attributes weren't being reinitialized properly.
===================================================================
M release/scripts/addons
M source/blender/blenkernel/intern/paint.cc
===================================================================
diff --git a/release/scripts/addons b/release/scripts/addons
index fdfd24de034..0b0052bd53a 160000
--- a/release/scripts/addons
+++ b/release/scripts/addons
@@ -1 +1 @@
-Subproject commit fdfd24de034d4bba4fb67731d0aae81dc4940239
+Subproject commit 0b0052bd53ad8249ed07dfb87705c338af698bde
diff --git a/source/blender/blenkernel/intern/paint.cc b/source/blender/blenkernel/intern/paint.cc
index a39e53662aa..200eb3e8732 100644
--- a/source/blender/blenkernel/intern/paint.cc
+++ b/source/blender/blenkernel/intern/paint.cc
@@ -2571,15 +2571,19 @@ static bool sculpt_attr_update(Object *ob, SculptAttribute *attr)
if (bad) {
MEM_SAFE_FREE(attr->data);
}
+ else {
+ attr->data_for_bmesh = false;
+ }
}
else {
CustomData *cdata = sculpt_get_cdata(ob, attr->domain);
if (cdata) {
int layer_index = CustomData_get_named_layer_index(cdata, attr->proptype, attr->name);
- bad = layer_index == -1;
- if (ss->bm) {
+ bad |= (ss->bm != nullptr) != attr->data_for_bmesh;
+
+ if (attr->data_for_bmesh) {
attr->bmesh_cd_offset = cdata->layers[layer_index].offset;
}
}
More information about the Bf-blender-cvs
mailing list