summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
authorAndrey Kleshchev <andreykproductengine@lindenlab.com>2023-09-27 21:11:01 +0300
committerakleshchev <117672381+akleshchev@users.noreply.github.com>2023-09-28 03:55:43 +0300
commit1b493d56905a2d3875648196ac1bc39fc71e895a (patch)
tree6b356618a3dccca37735256f6e2e9315709a3530 /indra
parentb894570e9af5eafd5de06f401fdc782599c063a2 (diff)
SL-20343 Material floater was disconnected from object's face
Diffstat (limited to 'indra')
-rw-r--r--indra/newview/llmaterialeditor.cpp27
-rw-r--r--indra/newview/llmaterialeditor.h1
-rw-r--r--indra/newview/llpanelface.cpp1
3 files changed, 2 insertions, 27 deletions
diff --git a/indra/newview/llmaterialeditor.cpp b/indra/newview/llmaterialeditor.cpp
index a0c3fd9a28..0897ed14c6 100644
--- a/indra/newview/llmaterialeditor.cpp
+++ b/indra/newview/llmaterialeditor.cpp
@@ -412,9 +412,6 @@ BOOL LLMaterialEditor::postBuild()
if (mIsOverride)
{
- // Material override change success callback
- LLGLTFMaterialList::addSelectionUpdateCallback(&LLMaterialEditor::updateLive);
-
// Live editing needs a recovery mechanism on cancel
mBaseColorTextureCtrl->setOnCancelCallback(boost::bind(&LLMaterialEditor::onCancelCtrl, this, _1, _2, MATERIAL_BASE_COLOR_TEX_DIRTY));
mMetallicTextureCtrl->setOnCancelCallback(boost::bind(&LLMaterialEditor::onCancelCtrl, this, _1, _2, MATERIAL_METALLIC_ROUGHTNESS_TEX_DIRTY));
@@ -542,12 +539,6 @@ void LLMaterialEditor::draw()
{
if (mIsOverride)
{
- bool selection_empty = LLSelectMgr::getInstance()->getSelection()->isEmpty();
- if (selection_empty && mHasSelection)
- {
- mSelectionNeedsUpdate = true;
- }
-
if (mSelectionNeedsUpdate)
{
mSelectionNeedsUpdate = false;
@@ -1790,22 +1781,6 @@ void LLMaterialEditor::updateLive()
mOverrideInProgress = false;
}
-void LLMaterialEditor::updateLive(const LLUUID &object_id, S32 te)
-{
- if (mOverrideObjectId != object_id
- || mOverrideObjectTE != te)
- {
- // Ignore if waiting for override,
- // if not waiting, mark selection dirty
- mSelectionNeedsUpdate |= !mOverrideInProgress;
- return;
- }
-
- // update for currently displayed object and face
- mSelectionNeedsUpdate = true;
- mOverrideInProgress = false;
-}
-
void LLMaterialEditor::loadLive()
{
LLMaterialEditor* me = (LLMaterialEditor*)LLFloaterReg::getInstance("live_material_editor");
@@ -2816,7 +2791,7 @@ public:
// something went wrong update selection
LLMaterialEditor::updateLive();
}
- // else we will get updateLive(obj, id) from applied overrides
+ // else we will get updateLive() from panel face
}
bool getResult() { return mSuccess; }
diff --git a/indra/newview/llmaterialeditor.h b/indra/newview/llmaterialeditor.h
index b29db706f8..1c40fcc348 100644
--- a/indra/newview/llmaterialeditor.h
+++ b/indra/newview/llmaterialeditor.h
@@ -110,7 +110,6 @@ class LLMaterialEditor : public LLPreview, public LLVOInventoryListener
void onSelectionChanged(); // live overrides selection changes
static void updateLive();
- static void updateLive(const LLUUID &object_id, S32 te);
static void loadLive();
static bool canModifyObjectsMaterial();
diff --git a/indra/newview/llpanelface.cpp b/indra/newview/llpanelface.cpp
index 1428f7fe23..cb28fb4770 100644
--- a/indra/newview/llpanelface.cpp
+++ b/indra/newview/llpanelface.cpp
@@ -515,6 +515,7 @@ void LLPanelFace::draw()
if (sMaterialOverrideSelection.update())
{
setMaterialOverridesFromSelection();
+ LLMaterialEditor::updateLive();
}
}