diff options
author | Christian Goetze <cg@lindenlab.com> | 2007-10-10 00:01:43 +0000 |
---|---|---|
committer | Christian Goetze <cg@lindenlab.com> | 2007-10-10 00:01:43 +0000 |
commit | 5ec8bbbe2244ea70d8aa74b5c572351632699425 (patch) | |
tree | 12a4e92720c531105a21ef4f9f363b8572d72a3a /indra/newview/llglsandbox.cpp | |
parent | b3b62c3b9ef32c4dbcae51cd3ef582734d5717bb (diff) |
svn merge -r71238:71367 svn+ssh://svn/svn/linden/branches/maint-ui-qa3
Diffstat (limited to 'indra/newview/llglsandbox.cpp')
-rw-r--r-- | indra/newview/llglsandbox.cpp | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/indra/newview/llglsandbox.cpp b/indra/newview/llglsandbox.cpp index ca387ac3c8..da3f7aad46 100644 --- a/indra/newview/llglsandbox.cpp +++ b/indra/newview/llglsandbox.cpp @@ -251,35 +251,35 @@ void LLToolSelectRect::handleRectangleSelection(S32 x, S32 y, MASK mask) if (shrink_selection) { - LLObjectSelectionHandle highlighted_objects = gSelectMgr->getHighlightedObjects(); - - for (LLViewerObject* vobjp = highlighted_objects->getFirstObject(); - vobjp; - vobjp = highlighted_objects->getNextObject()) + struct f : public LLSelectedObjectFunctor + { + virtual bool apply(LLViewerObject* vobjp) { LLDrawable* drawable = vobjp->mDrawable; if (!drawable || vobjp->getPCode() != LL_PCODE_VOLUME || vobjp->isAttachment()) { - continue; + return true; } - S32 result = gCamera->sphereInFrustum(drawable->getPositionAgent(), drawable->getRadius()); switch (result) { - case 0: + case 0: gSelectMgr->unhighlightObjectOnly(vobjp); break; - case 1: + case 1: // check vertices if (!gCamera->areVertsVisible(vobjp, LLSelectMgr::sRectSelectInclusive)) { gSelectMgr->unhighlightObjectOnly(vobjp); } break; - default: + default: break; } + return true; } + } func; + gSelectMgr->getHighlightedObjects()->applyToObjects(&func); } if (grow_selection) |