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
path: root/source
diff options
context:
space:
mode:
authorSergey Sharybin <sergey.vfx@gmail.com>2010-12-07 23:22:35 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2010-12-07 23:22:35 +0300
commitb5ab3980e8e1f84f380314b877ff5bfe2599cc29 (patch)
tree59f6de82b4fbe5369330682d069b571be1e81bf5 /source
parent9c76ff3f2ebd72e7c0c369407508bf39261b62c6 (diff)
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.
Diffstat (limited to 'source')
-rw-r--r--source/blender/editors/space_view3d/drawobject.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/source/blender/editors/space_view3d/drawobject.c b/source/blender/editors/space_view3d/drawobject.c
index 97813642b17..8b5b08b8a5a 100644
--- a/source/blender/editors/space_view3d/drawobject.c
+++ b/source/blender/editors/space_view3d/drawobject.c
@@ -908,7 +908,11 @@ static void drawlamp(Scene *scene, View3D *v3d, RegionView3D *rv3d, Base *base,
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);