Initial idea of running post-modifiers out of lock wasn't correct
The tihng here is: curve is getting modified by modifier stack and then it's coordinates are restored. To be really safe we need to do all this locked.
This commit is contained in:
@@ -1599,9 +1599,6 @@ static void do_makeDispListCurveTypes(Scene *scene, Object *ob, ListBase *dispba
|
||||
cu->bb = MEM_callocN(sizeof(BoundBox), "boundbox");
|
||||
}
|
||||
|
||||
/* XXX: Temp workaround for depsgraph_mt branch. */
|
||||
BLI_unlock_thread(LOCK_CUSTOM1);
|
||||
|
||||
boundbox_dispbase(cu->bb, dispbase);
|
||||
|
||||
if (!forRender) {
|
||||
@@ -1611,6 +1608,9 @@ static void do_makeDispListCurveTypes(Scene *scene, Object *ob, ListBase *dispba
|
||||
if (!forOrco)
|
||||
curve_calc_modifiers_post(scene, ob, dispbase, derivedFinal, forRender, renderResolution, originalVerts, deformedVerts);
|
||||
|
||||
/* XXX: Temp workaround for depsgraph_mt branch. */
|
||||
BLI_unlock_thread(LOCK_CUSTOM1);
|
||||
|
||||
if (cu->flag & CU_DEFORM_FILL && !ob->derivedFinal) {
|
||||
curve_to_filledpoly(cu, nubase, dispbase);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user