diff options
author | Daniel Dunbar <daniel@zuster.org> | 2005-03-29 21:10:07 +0400 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2005-03-29 21:10:07 +0400 |
commit | 03e364aba6120712994e5f19221381bd68d3907f (patch) | |
tree | 8ffed829d860e995e974bc7aaa559434355576a2 /source | |
parent | fa371940823e684590c946866e7ec4153f69b396 (diff) |
- remove free_displist_by_type
- free derived mesh on freedisplist_object... bit of a hack but
just to be safe. oh dependency graph where are you!
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/blenkernel/BKE_displist.h | 1 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/displist.c | 22 |
2 files changed, 5 insertions, 18 deletions
diff --git a/source/blender/blenkernel/BKE_displist.h b/source/blender/blenkernel/BKE_displist.h index ac8c601c5a5..32da11d0a9b 100644 --- a/source/blender/blenkernel/BKE_displist.h +++ b/source/blender/blenkernel/BKE_displist.h @@ -136,7 +136,6 @@ typedef struct DispList { extern void copy_displist(struct ListBase *lbn, struct ListBase *lb); extern void free_disp_elem(DispList *dl); -extern void free_displist_by_type(struct ListBase *lb, int type); extern DispList *find_displist_create(struct ListBase *lb, int type); extern DispList *find_displist(struct ListBase *lb, int type); extern void addnormalsDispList(struct Object *ob, struct ListBase *lb); diff --git a/source/blender/blenkernel/intern/displist.c b/source/blender/blenkernel/intern/displist.c index 739376591ef..1314bb996f4 100644 --- a/source/blender/blenkernel/intern/displist.c +++ b/source/blender/blenkernel/intern/displist.c @@ -351,6 +351,10 @@ static void freedisplist_object(Object *ob) if(ob->type==OB_MESH) { Mesh *me= ob->data; freedisplist(&me->disp); + if (me->derived) { + me->derived->release(me->derived); + me->derived = NULL; + } } else if(ob->type==OB_CURVE || ob->type==OB_SURF || ob->type==OB_FONT) { Curve *cu= ob->data; @@ -358,22 +362,6 @@ static void freedisplist_object(Object *ob) } } -void free_displist_by_type(ListBase *lb, int type) -{ - DispList *dl; - - for (dl= lb->first; dl; ) { - DispList *next= dl->next; - - if (dl->type==type) { - BLI_remlink(lb, dl); - free_disp_elem(dl); - } - - dl= next; - } -} - DispList *find_displist_create(ListBase *lb, int type) { DispList *dl; @@ -1764,7 +1752,7 @@ void makeDispList(Object *ob) if(ob->type==OB_MESH) { me= ob->data; - freedisplist(&(me->disp)); + freedisplist(&me->disp); if (me->derived) { me->derived->release(me->derived); me->derived= NULL; |