diff options
author | Nicholas Bishop <nicholasbishop@gmail.com> | 2009-06-21 06:51:42 +0400 |
---|---|---|
committer | Nicholas Bishop <nicholasbishop@gmail.com> | 2009-06-21 06:51:42 +0400 |
commit | 984ab796298bac49ea7519ee7c4efbccabf3a35b (patch) | |
tree | ab27cc8b613699064c666723410afaa422db1bd0 | |
parent | 09e64c6e2cc0acea38000f57d100eb8338be86ee (diff) |
2.5/Multires:
Bugfix for loading older files with the pre-modifier multires.
-rw-r--r-- | source/blender/blenkernel/intern/multires.c | 6 | ||||
-rw-r--r-- | source/blender/blenloader/intern/readfile.c | 6 |
2 files changed, 6 insertions, 6 deletions
diff --git a/source/blender/blenkernel/intern/multires.c b/source/blender/blenkernel/intern/multires.c index b1387281cf5..5def910ddef 100644 --- a/source/blender/blenkernel/intern/multires.c +++ b/source/blender/blenkernel/intern/multires.c @@ -1270,8 +1270,10 @@ void multires_free(Multires *mr) if(lvl) { CustomData_free(&mr->vdata, lvl->totvert); CustomData_free(&mr->fdata, lvl->totface); - MEM_freeN(mr->edge_flags); - MEM_freeN(mr->edge_creases); + if(mr->edge_flags) + MEM_freeN(mr->edge_flags); + if(mr->edge_creases) + MEM_freeN(mr->edge_creases); } while(lvl) { diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c index 1502b475350..a4856944d8a 100644 --- a/source/blender/blenloader/intern/readfile.c +++ b/source/blender/blenloader/intern/readfile.c @@ -3142,10 +3142,8 @@ static void direct_link_mesh(FileData *fd, Mesh *mesh) direct_link_dverts(fd, lvl->totvert, CustomData_get(&mesh->mr->vdata, 0, CD_MDEFORMVERT)); direct_link_customdata(fd, &mesh->mr->fdata, lvl->totface); - if(!mesh->mr->edge_flags) - mesh->mr->edge_flags= MEM_callocN(sizeof(short)*lvl->totedge, "Multires Edge Flags"); - if(!mesh->mr->edge_creases) - mesh->mr->edge_creases= MEM_callocN(sizeof(char)*lvl->totedge, "Multires Edge Creases"); + mesh->mr->edge_flags= newdataadr(fd, mesh->mr->edge_flags); + mesh->mr->edge_creases= newdataadr(fd, mesh->mr->edge_creases); mesh->mr->verts = newdataadr(fd, mesh->mr->verts); |