Revision: 35363
          
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=35363
Author:   campbellbarton
Date:     2011-03-05 10:37:59 +0000 (Sat, 05 Mar 2011)
Log Message:
-----------
sculpt undo struct was using an array of char pointers rather then a char array.

Modified Paths:
--------------
    trunk/blender/source/blender/editors/sculpt_paint/sculpt_intern.h
    trunk/blender/source/blender/editors/sculpt_paint/sculpt_undo.c

Modified: trunk/blender/source/blender/editors/sculpt_paint/sculpt_intern.h
===================================================================
--- trunk/blender/source/blender/editors/sculpt_paint/sculpt_intern.h   
2011-03-05 10:29:10 UTC (rev 35362)
+++ trunk/blender/source/blender/editors/sculpt_paint/sculpt_intern.h   
2011-03-05 10:37:59 UTC (rev 35363)
@@ -104,7 +104,7 @@
        float *layer_disp;
 
        /* shape keys */
-       char *shapeName[32]; /* keep size in sync with keyblock dna */
+       char shapeName[sizeof(((KeyBlock *)0))->name];
 } SculptUndoNode;
 
 SculptUndoNode *sculpt_undo_push_node(SculptSession *ss, PBVHNode *node);

Modified: trunk/blender/source/blender/editors/sculpt_paint/sculpt_undo.c
===================================================================
--- trunk/blender/source/blender/editors/sculpt_paint/sculpt_undo.c     
2011-03-05 10:29:10 UTC (rev 35362)
+++ trunk/blender/source/blender/editors/sculpt_paint/sculpt_undo.c     
2011-03-05 10:37:59 UTC (rev 35363)
@@ -100,17 +100,15 @@
                        continue;
 
                if(unode->maxvert) {
-                       char *shapeName= (char*)unode->shapeName;
-
                        /* regular mesh restore */
                        if(ss->totvert != unode->maxvert)
                                continue;
 
-                       if (ss->kb && strcmp(ss->kb->name, shapeName)) {
+                       if (ss->kb && strcmp(ss->kb->name, unode->shapeName)) {
                                /* shape key has been changed before calling 
undo operator */
 
                                Key *key= ob_get_key(ob);
-                               KeyBlock *kb= key_get_named_keyblock(key, 
shapeName);
+                               KeyBlock *kb= key_get_named_keyblock(key, 
unode->shapeName);
 
                                if (kb) {
                                        ob->shapenr= BLI_findindex(&key->block, 
kb) + 1;
@@ -316,7 +314,7 @@
                memcpy(unode->grids, grids, sizeof(int)*totgrid);
 
        /* store active shape key */
-       if(ss->kb) BLI_strncpy((char*)unode->shapeName, ss->kb->name, 
sizeof(ss->kb->name));
+       if(ss->kb) BLI_strncpy(unode->shapeName, ss->kb->name, 
sizeof(ss->kb->name));
        else unode->shapeName[0]= '\0';
 
        return unode;

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

Reply via email to