Fix T60401: Shape key's from pointer being set to evaluated CoW ID.
authorBastien Montagne <montagne29@wanadoo.fr>
Fri, 11 Jan 2019 22:13:29 +0000 (23:13 +0100)
committerBastien Montagne <montagne29@wanadoo.fr>
Fri, 11 Jan 2019 22:16:27 +0000 (23:16 +0100)
Not sure exactly why this happened for 'apply as shape' and not in other
cases (did not took time to fully trace what happens there). But in any
case, `BKE_key_evaluate_object_ex()` can be called from a fair amount of
places, including during depsgraph evaluation, so setting back key's
owner here is plain wrong in CoW era.

source/blender/blenkernel/intern/key.c

index dce748e..85903e1 100644 (file)
@@ -1333,9 +1333,6 @@ float *BKE_key_evaluate_object_ex(
                out = (char *)arr;
        }
 
-       /* prevent python from screwing this up? anyhoo, the from pointer could be dropped */
-       key->from = (ID *)ob->data;
-
        if (ob->shapeflag & OB_SHAPE_LOCK) {
                /* shape locked, copy the locked shape instead of blending */
                KeyBlock *kb = BLI_findlink(&key->block, ob->shapenr - 1);