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:
-rw-r--r--source/blender/blenkernel/BKE_displist.h1
-rw-r--r--source/blender/blenkernel/intern/displist.c22
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;