Fix T76512: Sculpt mode: crash when applying base

Differential Revision: https://developer.blender.org/D7663
This commit is contained in:
Sergey Sharybin 2020-05-08 11:20:30 +02:00
parent 815855b91b
commit 86a16e7381
Notes: blender-bot 2023-02-14 08:58:01 +01:00
Referenced by issue #76512, Sculpt mode: crash when applying base
1 changed files with 11 additions and 0 deletions

View File

@ -1565,6 +1565,17 @@ static bool sculpt_undo_use_multires_mesh(bContext *C)
static void sculpt_undo_push_all_grids(Object *object)
{
SculptSession *ss = object->sculpt;
/* It is possible that undo push is done from an object state where there is no PBVH. This
* happens, for example, when an operation which tagged for geometry update was performed prior
* to the current operation without making any stroke inbetween.
*
* Skip pushing nodes based on the following logic: on redo SCULPT_UNDO_COORDS will ensure
* PBVH for the new base geometry, which will have same coordinates as if we create PBVH here. */
if (ss->pbvh == NULL) {
return;
}
PBVHNode **nodes;
int totnodes;