summaryrefslogtreecommitdiff
path: root/indra/newview
diff options
context:
space:
mode:
authorandreykproductengine <andreykproductengine@lindenlab.com>2018-10-10 20:32:28 +0300
committerandreykproductengine <andreykproductengine@lindenlab.com>2018-10-10 20:32:28 +0300
commit3a521388293c90f4d3492cf45b02cded102bced2 (patch)
tree91fe903cf495166be04783814edc21bd2144fec0 /indra/newview
parentd75723439767ad62f2f919e29b713eca137f04d5 (diff)
SL-9781 Colour picker floater preiodically reverts color without 'apply now'
Diffstat (limited to 'indra/newview')
-rw-r--r--indra/newview/llpanelface.cpp13
1 files changed, 9 insertions, 4 deletions
diff --git a/indra/newview/llpanelface.cpp b/indra/newview/llpanelface.cpp
index 13ee7bb003..8d7865c8ba 100644
--- a/indra/newview/llpanelface.cpp
+++ b/indra/newview/llpanelface.cpp
@@ -718,11 +718,12 @@ void LLPanelFace::updateUI(bool force_set_values /*false*/)
bool identical_color = false;
if(mColorSwatch)
- {
+ {
LLSelectedTE::getColor(color, identical_color);
+ LLColor4 prev_color = mColorSwatch->get();
mColorSwatch->setOriginal(color);
- mColorSwatch->set(color, TRUE);
+ mColorSwatch->set(color, force_set_values || (prev_color != color) || !editable);
mColorSwatch->setValid(editable);
mColorSwatch->setEnabled( editable );
@@ -1318,8 +1319,12 @@ void LLPanelFace::updateUI(bool force_set_values /*false*/)
//
if (!material->getSpecularID().isNull())
{
- getChild<LLColorSwatchCtrl>("shinycolorswatch")->setOriginal(material->getSpecularLightColor());
- getChild<LLColorSwatchCtrl>("shinycolorswatch")->set(material->getSpecularLightColor(),TRUE);
+ LLColorSwatchCtrl* shiny_swatch = getChild<LLColorSwatchCtrl>("shinycolorswatch");
+ LLColor4 new_color = material->getSpecularLightColor();
+ LLColor4 old_color = shiny_swatch->get();
+
+ shiny_swatch->setOriginal(new_color);
+ shiny_swatch->set(new_color, force_set_values || old_color != new_color || !editable);
}
// Bumpy (normal)