Fix T63542: Imported FBX doesn't show keyframes in Shape Key editor.
authorBastien Montagne <montagne29@wanadoo.fr>
Tue, 14 May 2019 10:23:31 +0000 (12:23 +0200)
committerBastien Montagne <montagne29@wanadoo.fr>
Tue, 14 May 2019 10:28:17 +0000 (12:28 +0200)
While shapekeys RNA path handling does support keyblocks (ShapeKeys)
with an `id_data` wrongly set to the geometry instead of the shapkey,
this is really not something to promote. ideally it should be removed at
some point. At least, let's not generate such RNA pointer if we can
avoid it.

Here it was breaking proper showing of animated shapekeys in the UI,
since this expects animated datablocks to have their own animation data
(and 'rooting' keyblocks to their mesh instead of their shapekey ended
up defining their animation in the mesh, not in the shapekey).

source/blender/makesrna/intern/rna_object_api.c

index 5f41bf68572e1ceb66d1a1dce86bbfa46759174c..c997a82f02d6f5ea8171ec24e660f6c1bf5e3a6c 100644 (file)
@@ -398,7 +398,7 @@ static PointerRNA rna_Object_shape_key_add(
   if ((kb = BKE_object_shapekey_insert(bmain, ob, name, from_mix))) {
     PointerRNA keyptr;
 
-    RNA_pointer_create((ID *)ob->data, &RNA_ShapeKey, kb, &keyptr);
+    RNA_pointer_create((ID *)BKE_key_from_object(ob), &RNA_ShapeKey, kb, &keyptr);
     WM_event_add_notifier(C, NC_OBJECT | ND_DRAW, ob);
 
     return keyptr;