Revision: 32476
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=32476
Author:   nazgul
Date:     2010-10-14 22:19:52 +0200 (Thu, 14 Oct 2010)

Log Message:
-----------
Fix #24257: Last shape key not applied as Basis shape.

Modified Paths:
--------------
    trunk/blender/source/blender/editors/object/object_shapekey.c

Modified: trunk/blender/source/blender/editors/object/object_shapekey.c
===================================================================
--- trunk/blender/source/blender/editors/object/object_shapekey.c       
2010-10-14 19:30:55 UTC (rev 32475)
+++ trunk/blender/source/blender/editors/object/object_shapekey.c       
2010-10-14 20:19:52 UTC (rev 32476)
@@ -53,6 +53,7 @@
 #include "BKE_library.h"
 #include "BKE_main.h"
 #include "BKE_object.h"
+#include "BKE_curve.h"
 
 #include "BLO_sys_types.h" // for intptr_t support
 
@@ -100,8 +101,25 @@
 
                BLI_remlink(&key->block, kb);
                key->totkey--;
-               if(key->refkey== kb)
+               if(key->refkey== kb) {
                        key->refkey= key->block.first;
+
+                       if(key->refkey) {
+                               /* apply new basis key on original data */
+                               switch(ob->type) {
+                                       case OB_MESH:
+                                               key_to_mesh(key->refkey, 
ob->data);
+                                               break;
+                                       case OB_CURVE:
+                                       case OB_SURF:
+                                               key_to_curve(key->refkey, 
ob->data, BKE_curve_nurbs(ob->data));
+                                               break;
+                                       case OB_LATTICE:
+                                               key_to_latt(key->refkey, 
ob->data);
+                                               break;
+                               }
+                       }
+               }
                        
                if(kb->data) MEM_freeN(kb->data);
                MEM_freeN(kb);


_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to