diff options
Diffstat (limited to 'indra/newview/pipeline.cpp')
-rw-r--r-- | indra/newview/pipeline.cpp | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp index a9c5e36bf5..d336876ee1 100644 --- a/indra/newview/pipeline.cpp +++ b/indra/newview/pipeline.cpp @@ -1813,15 +1813,18 @@ void LLPipeline::postSort(LLCamera& camera) // Draw face highlights for selected faces. if (gSelectMgr->getTEMode()) { - LLViewerObject *vobjp; - S32 te; - gSelectMgr->getSelection()->getFirstTE(&vobjp,&te); - - while (vobjp) + struct f : public LLSelectedTEFunctor { - mSelectedFaces.push_back(vobjp->mDrawable->getFace(te)); - gSelectMgr->getSelection()->getNextTE(&vobjp,&te); - } + virtual bool apply(LLViewerObject* object, S32 te) + { + if (object->mDrawable) + { + gPipeline.mSelectedFaces.push_back(object->mDrawable->getFace(te)); + } + return true; + } + } func; + gSelectMgr->getSelection()->applyToTEs(&func); } } |