Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2011-04-20 16:06:23 +0400
committerCampbell Barton <ideasman42@gmail.com>2011-04-20 16:06:23 +0400
commit7a7df3bfe821ab5faafa12094713f215440d555e (patch)
tree5d827427edd61ba16951a782c468dab111fb7b36
parent01fced7e3545dbc379ef470973415eed2993a014 (diff)
avoid calling newdataadr() on NULL vertex groups, gives a small speedup on loading with files that have many empty groups.
-rw-r--r--source/blender/blenloader/intern/readfile.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c
index 1673cbf8458..93d266668e2 100644
--- a/source/blender/blenloader/intern/readfile.c
+++ b/source/blender/blenloader/intern/readfile.c
@@ -3412,15 +3412,19 @@ static void lib_link_mesh(FileData *fd, Main *main)
static void direct_link_dverts(FileData *fd, int count, MDeformVert *mdverts)
{
- int i;
+ int i;
- if (!mdverts)
+ if (mdverts == NULL) {
return;
+ }
- for (i=0; i<count; i++) {
- mdverts[i].dw=newdataadr(fd, mdverts[i].dw);
- if (!mdverts[i].dw)
- mdverts[i].totweight=0;
+ for (i= count; i > 0; i--, mdverts++) {
+ if(mdverts->dw) {
+ mdverts->dw= newdataadr(fd, mdverts->dw);
+ }
+ if (mdverts->dw == NULL) {
+ mdverts->totweight= 0;
+ }
}
}