summaryrefslogtreecommitdiff
path: root/indra/newview/llselectmgr.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llselectmgr.cpp')
-rw-r--r--indra/newview/llselectmgr.cpp41
1 files changed, 41 insertions, 0 deletions
diff --git a/indra/newview/llselectmgr.cpp b/indra/newview/llselectmgr.cpp
index 5c1a339570..2b1b4b79b2 100644
--- a/indra/newview/llselectmgr.cpp
+++ b/indra/newview/llselectmgr.cpp
@@ -2355,6 +2355,47 @@ void LLSelectMgr::selectionSetFullbright(U8 fullbright)
getSelection()->applyToObjects(&sendfunc);
}
+void LLSelectMgr::selectionSetRenderableTarget(LLTextureEntry::eRenderableTarget target)
+{
+ struct f : public LLSelectedTEFunctor
+ {
+ LLTextureEntry::eRenderableTarget mRenderableTarget;
+
+ f(const LLTextureEntry::eRenderableTarget& t) : mRenderableTarget(t) {}
+
+ bool apply(LLViewerObject* object, S32 te)
+ {
+ if (object->permModify())
+ {
+ object->setTERenderableTarget(te, mRenderableTarget);
+ }
+
+ return true;
+ }
+ } setfunc(target);
+
+ getSelection()->applyToTEs(&setfunc);
+
+ struct g : public LLSelectedObjectFunctor
+ {
+ LLTextureEntry::eRenderableTarget mRenderableTarget;
+
+ g(const LLTextureEntry::eRenderableTarget& t) : mRenderableTarget(t) {}
+
+ virtual bool apply(LLViewerObject* object)
+ {
+ if (object->permModify())
+ {
+ object->sendTEUpdate();
+ }
+
+ return true;
+ }
+ } sendfunc(target);
+
+ getSelection()->applyToObjects(&sendfunc);
+}
+
// This function expects media_data to be a map containing relevant
// media data name/value pairs (e.g. home_url, etc.)
void LLSelectMgr::selectionSetMedia(U8 media_type, const LLSD &media_data)