Fix T58210, Part II: Surface Deform modifier (un)binding is broken.
authorBastien Montagne <montagne29@wanadoo.fr>
Wed, 5 Dec 2018 17:33:31 +0000 (18:33 +0100)
committerBastien Montagne <montagne29@wanadoo.fr>
Wed, 5 Dec 2018 19:54:02 +0000 (20:54 +0100)
commit484389cdcd6c8cbac9aaaae97bb4c7599a63a793
tree9651ccb02fb04845ff14151763f3110e7512f100
parent71e2efc4ce6b760fe35edaf451e9cc803bc7c1a4
Fix T58210, Part II: Surface Deform modifier (un)binding is broken.

This fixes/clarifies Surface Deform evaluation code that does the
binding, since that part should only be called outside of depsgraph
evaluation, with orig data-blocks and not CoW ones.

Now we have a decent amount of asserts and checks to ensure eveything
works as expected.

Also had to add a special case to get target's mesh in binding case,
since often target's evaluated mesh is not available, in that case (and
in that case only), we can actually compute that mesh (because we are
out of depsgraph evaluation).
source/blender/modifiers/intern/MOD_surfacedeform.c