Fix T76738: Duplicate brushes cause assertion on undo
This commit is contained in:
parent
6a850f3cc8
commit
3c0fd51cf4
Notes:
blender-bot
2023-02-14 06:47:29 +01:00
Referenced by issue #76738, Assert failure undoing view layer creation
|
@ -27,7 +27,7 @@
|
|||
* \note Use #STRINGIFY() rather than defining with quotes.
|
||||
*/
|
||||
#define BLENDER_VERSION 283
|
||||
#define BLENDER_SUBVERSION 16
|
||||
#define BLENDER_SUBVERSION 17
|
||||
/** Several breakages with 280, e.g. collections vs layers. */
|
||||
#define BLENDER_MINVERSION 280
|
||||
#define BLENDER_MINSUBVERSION 0
|
||||
|
|
|
@ -5046,6 +5046,27 @@ void blo_do_versions_280(FileData *fd, Library *UNUSED(lib), Main *bmain)
|
|||
}
|
||||
}
|
||||
|
||||
if (!MAIN_VERSION_ATLEAST(bmain, 283, 17)) {
|
||||
/* Reset the cloth mass to 1.0 in brushes with an invalid value. */
|
||||
for (Brush *br = bmain->brushes.first; br; br = br->id.next) {
|
||||
if (br->sculpt_tool == SCULPT_TOOL_CLOTH) {
|
||||
if (br->cloth_mass == 0.0f) {
|
||||
br->cloth_mass = 1.0f;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/** Repair files from duplicate brushes added to blend files, see: T76738. */
|
||||
if (!MAIN_VERSION_ATLEAST(bmain, 283, 17) ||
|
||||
((bmain->versionfile == 290) && !MAIN_VERSION_ATLEAST(bmain, 290, 2))) {
|
||||
short id_codes[] = {ID_BR, ID_PAL};
|
||||
for (int i = 0; i < ARRAY_SIZE(id_codes); i++) {
|
||||
ListBase *lb = which_libbase(bmain, id_codes[i]);
|
||||
BKE_main_id_repair_duplicate_names_listbase(lb);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Versioning code until next subversion bump goes here.
|
||||
*
|
||||
|
@ -5058,14 +5079,5 @@ void blo_do_versions_280(FileData *fd, Library *UNUSED(lib), Main *bmain)
|
|||
*/
|
||||
{
|
||||
/* Keep this block, even when empty. */
|
||||
|
||||
/* Reset the cloth mass to 1.0 in brushes with an invalid value. */
|
||||
for (Brush *br = bmain->brushes.first; br; br = br->id.next) {
|
||||
if (br->sculpt_tool == SCULPT_TOOL_CLOTH) {
|
||||
if (br->cloth_mass == 0.0f) {
|
||||
br->cloth_mass = 1.0f;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue