summaryrefslogtreecommitdiff
path: root/indra/newview/llglsandbox.cpp
diff options
context:
space:
mode:
authorChristian Goetze <cg@lindenlab.com>2007-10-10 00:01:43 +0000
committerChristian Goetze <cg@lindenlab.com>2007-10-10 00:01:43 +0000
commit5ec8bbbe2244ea70d8aa74b5c572351632699425 (patch)
tree12a4e92720c531105a21ef4f9f363b8572d72a3a /indra/newview/llglsandbox.cpp
parentb3b62c3b9ef32c4dbcae51cd3ef582734d5717bb (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.cpp20
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)