summaryrefslogtreecommitdiff
path: root/indra/newview/llmaterialeditor.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llmaterialeditor.cpp')
-rw-r--r--indra/newview/llmaterialeditor.cpp22
1 files changed, 15 insertions, 7 deletions
diff --git a/indra/newview/llmaterialeditor.cpp b/indra/newview/llmaterialeditor.cpp
index 7a23d8da37..a0cb4e1c8f 100644
--- a/indra/newview/llmaterialeditor.cpp
+++ b/indra/newview/llmaterialeditor.cpp
@@ -2503,14 +2503,16 @@ public:
material->setAlphaCutoff(nodep->mSavedGLTFRenderMaterials[te]->mAlphaCutoff, true);
}
- std::string overrides_json = material->asJSON();
-
#if 1
- // debug
- std::string err, warn;
- LLGLTFMaterial debug;
- debug.fromJSON(overrides_json, warn, err);
-#endif
+ if (mObjectTE == te
+ && mObjectId == objectp->getID())
+ {
+ mSuccess = true;
+ }
+ LLGLTFMaterialList::queueModifyMaterial(objectp->getID(), te, *material);
+#else
+
+ std::string overrides_json = material->asJSON();
LLSD overrides = llsd::map(
"object_id", objectp->getID(),
@@ -2528,6 +2530,7 @@ public:
done_callback = modifyCallback;
}
LLCoros::instance().launch("modifyMaterialCoro", std::bind(&LLGLTFMaterialList::modifyMaterialCoro, mCapUrl, overrides, done_callback));
+#endif
}
return true;
}
@@ -2575,6 +2578,11 @@ void LLMaterialEditor::applyToSelection()
LLObjectSelectionHandle selected_objects = LLSelectMgr::getInstance()->getSelection();
LLRenderMaterialOverrideFunctor override_func(this, url, mOverrideObjectId, mOverrideObjectTE);
selected_objects->applyToNodes(&override_func);
+
+ void(*done_callback)(bool) = LLRenderMaterialOverrideFunctor::modifyCallback;
+
+ LLGLTFMaterialList::flushModifyMaterialQueue(done_callback);
+
if (!override_func.getResult())
{
// OverrideFunctor didn't find expected object or face