diff options
author | Campbell Barton <ideasman42@gmail.com> | 2010-02-06 17:32:50 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2010-02-06 17:32:50 +0300 |
commit | eafdf42c24b2555ec97bbbb471091bc280e6759a (patch) | |
tree | c416801340bd34fb1ac11004c6d8e5ce8eb2f7ed /source/blender/editors/space_view3d/view3d_draw.c | |
parent | 274e4bd9e0bb0c7a50c5d381d7a579a04670cb58 (diff) |
bugfix [#20989] DupliVert of DupliGroup crash
Diffstat (limited to 'source/blender/editors/space_view3d/view3d_draw.c')
-rw-r--r-- | source/blender/editors/space_view3d/view3d_draw.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/source/blender/editors/space_view3d/view3d_draw.c b/source/blender/editors/space_view3d/view3d_draw.c index 99f3e7ffd91..067098312ff 100644 --- a/source/blender/editors/space_view3d/view3d_draw.c +++ b/source/blender/editors/space_view3d/view3d_draw.c @@ -1503,7 +1503,7 @@ static void draw_dupli_objects_color(Scene *scene, ARegion *ar, View3D *v3d, Bas ListBase *lb; DupliObject *dob; Base tbase; - BoundBox bb; /* use a copy because draw_object, calls clear_mesh_caches */ + BoundBox bb, *bb_tmp; /* use a copy because draw_object, calls clear_mesh_caches */ GLuint displist=0; short transflag, use_displist= -1; /* -1 is initialize */ char dt, dtx; @@ -1539,14 +1539,14 @@ static void draw_dupli_objects_color(Scene *scene, ARegion *ar, View3D *v3d, Bas if(use_displist == -1) { /* lamp drawing messes with matrices, could be handled smarter... but this works */ - if(dob->ob->type==OB_LAMP || dob->type==OB_DUPLIGROUP) + if(dob->ob->type==OB_LAMP || dob->type==OB_DUPLIGROUP || !(bb_tmp= object_get_boundbox(dob->ob))) use_displist= 0; else { + bb= *bb_tmp; /* must make a copy */ + /* disable boundbox check for list creation */ object_boundbox_flag(dob->ob, OB_BB_DISABLED, 1); /* need this for next part of code */ - bb= *object_get_boundbox(dob->ob); - unit_m4(dob->ob->obmat); /* obmat gets restored */ displist= glGenLists(1); |