Fix (unreported, related to T58210) LaplacianDeform binding state incorrectly reported by RNA.

LaplacianDeform binding handling is a catastrophee in CoW context,
because half of the binding (the laplacian solver cache thingy) is not
saved, and can be re-generated on the fly from stored vcos.

This means that binding is not only done when hitting 'bind' button, but
also at file load, and when some things change.

And this utterly breaks with CoW design, not sure how to fix, will add a
task about that.

But this also means that NULL laplacian solver cache pointer is not a
good check to know whether it is binded or not, only stored vcos are
relevant for that (and the binding flag, of course).
This commit is contained in:
Bastien Montagne 2018-12-05 18:37:29 +01:00
parent 484389cdcd
commit 9fa8c01f6b
1 changed files with 1 additions and 1 deletions

View File

@ -781,7 +781,7 @@ static void rna_OceanModifier_ocean_chop_set(PointerRNA *ptr, float value)
static bool rna_LaplacianDeformModifier_is_bind_get(PointerRNA *ptr)
{
LaplacianDeformModifierData *lmd = (LaplacianDeformModifierData *)ptr->data;
return ((lmd->flag & MOD_LAPLACIANDEFORM_BIND) && (lmd->cache_system != NULL));
return ((lmd->flag & MOD_LAPLACIANDEFORM_BIND) && (lmd->vertexco != NULL));
}
/* NOTE: Curve and array modifiers requires curve path to be evaluated,