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>2010-02-06 17:32:50 +0300
committerCampbell Barton <ideasman42@gmail.com>2010-02-06 17:32:50 +0300
commiteafdf42c24b2555ec97bbbb471091bc280e6759a (patch)
treec416801340bd34fb1ac11004c6d8e5ce8eb2f7ed /source/blender/editors/space_view3d/view3d_draw.c
parent274e4bd9e0bb0c7a50c5d381d7a579a04670cb58 (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.c8
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);