diff options
author | Campbell Barton <ideasman42@gmail.com> | 2010-01-16 18:17:40 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2010-01-16 18:17:40 +0300 |
commit | 459f55ed9502c435d4f4117b1a053c4c598a016d (patch) | |
tree | d56ad6154c96855f3f23e660c5d59f9422dc304c /source/blender/editors/space_view3d/view3d_view.c | |
parent | 6a8dc9bdec8167775611ad6304d2d23f46a7d145 (diff) |
bugix [#20687] Selection code on duplis gets incorrect draw mode flag
could make selection very slow in some cases
Diffstat (limited to 'source/blender/editors/space_view3d/view3d_view.c')
-rw-r--r-- | source/blender/editors/space_view3d/view3d_view.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/source/blender/editors/space_view3d/view3d_view.c b/source/blender/editors/space_view3d/view3d_view.c index adb1e6c6f1c..8fe34df103f 100644 --- a/source/blender/editors/space_view3d/view3d_view.c +++ b/source/blender/editors/space_view3d/view3d_view.c @@ -1199,6 +1199,7 @@ short view3d_opengl_select(ViewContext *vc, unsigned int *buffer, unsigned int b ARegion *ar= vc->ar; rctf rect; short code, hits; + char dt, dtx; G.f |= G_PICKSEL; @@ -1269,8 +1270,16 @@ short view3d_opengl_select(ViewContext *vc, unsigned int *buffer, unsigned int b tbase.object= dob->ob; copy_m4_m4(dob->ob->obmat, dob->mat); + /* extra service: draw the duplicator in drawtype of parent */ + /* MIN2 for the drawtype to allow bounding box objects in groups for lods */ + dt= tbase.object->dt; tbase.object->dt= MIN2(tbase.object->dt, base->object->dt); + dtx= tbase.object->dtx; tbase.object->dtx= base->object->dtx; + draw_object(scene, ar, v3d, &tbase, DRAW_PICKING|DRAW_CONSTCOLOR); + tbase.object->dt= dt; + tbase.object->dtx= dtx; + copy_m4_m4(dob->ob->obmat, dob->omat); } free_object_duplilist(lb); |