[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [33541] trunk/blender/source/blender/ editors/space_view3d/drawobject.c: Fix #25085: Enabling "Show Cone" on dupliverted buffer spots crashes Blender

Sergey Sharybin g.ulairi at gmail.com
Tue Dec 7 21:22:40 CET 2010


Revision: 33541
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=33541
Author:   nazgul
Date:     2010-12-07 21:22:35 +0100 (Tue, 07 Dec 2010)

Log Message:
-----------
Fix #25085: Enabling "Show Cone" on dupliverted buffer spots crashes Blender

Cone can't be drawn for duplicated lamps, because lamps with cone are drawn after
main draw function (from view3d_draw_transp) and list of duplicated object gets
freed to this moment.

Disable cone draw for lamps which are from dupli.

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

Modified: trunk/blender/source/blender/editors/space_view3d/drawobject.c
===================================================================
--- trunk/blender/source/blender/editors/space_view3d/drawobject.c	2010-12-07 12:58:25 UTC (rev 33540)
+++ trunk/blender/source/blender/editors/space_view3d/drawobject.c	2010-12-07 20:22:35 UTC (rev 33541)
@@ -908,7 +908,11 @@
 	float imat[4][4], curcol[4];
 	char col[4];
 	int drawcone= (dt>OB_WIRE && !(G.f & G_PICKSEL) && la->type == LA_SPOT && (la->mode & LA_SHOW_CONE));
-	
+
+	/* cone can't be drawn for duplicated lamps, because duplilist would be freed to */
+	/* the moment of view3d_draw_transp() call */
+	drawcone&= (base->flag & OB_FROMDUPLI)==0;
+
 	if(drawcone && !v3d->transp) {
 		/* in this case we need to draw delayed */
 		add_view3d_after(&v3d->afterdraw_transp, base, flag);





More information about the Bf-blender-cvs mailing list