[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [26640] trunk/blender/source/blender/ editors/space_view3d/view3d_draw.c: bugfix [#20989] DupliVert of DupliGroup crash

Campbell Barton ideasman42 at gmail.com
Sat Feb 6 15:32:50 CET 2010


Revision: 26640
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=26640
Author:   campbellbarton
Date:     2010-02-06 15:32:50 +0100 (Sat, 06 Feb 2010)

Log Message:
-----------
bugfix [#20989] DupliVert of DupliGroup crash

Modified Paths:
--------------
    trunk/blender/source/blender/editors/space_view3d/view3d_draw.c

Modified: trunk/blender/source/blender/editors/space_view3d/view3d_draw.c
===================================================================
--- trunk/blender/source/blender/editors/space_view3d/view3d_draw.c	2010-02-06 12:44:37 UTC (rev 26639)
+++ trunk/blender/source/blender/editors/space_view3d/view3d_draw.c	2010-02-06 14:32:50 UTC (rev 26640)
@@ -1503,7 +1503,7 @@
 	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 @@
 			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);





More information about the Bf-blender-cvs mailing list