From 6ccb3f16c30097d52cb8566c67dc898227e2d8ff Mon Sep 17 00:00:00 2001
From: XenHat <commits@xenh.at>
Date: Thu, 8 Jul 2021 13:28:03 -0400
Subject: [PATCH] Fixed: Resetting unchanged settings values trigger changed
 event anyway

---
 indra/llxml/llcontrol.cpp | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/indra/llxml/llcontrol.cpp b/indra/llxml/llcontrol.cpp
index 7d49a8d3441..b83534a26b0 100644
--- a/indra/llxml/llcontrol.cpp
+++ b/indra/llxml/llcontrol.cpp
@@ -315,7 +315,10 @@ void LLControlVariable::resetToDefault(bool fire_signal)
 		mValues.pop_back();
 	}
 	
-	if(fire_signal) 
+	// don't fire if the value didn't actually change
+	LLSD previous_value = getComparableValue(getValue());
+	bool value_changed = (llsd_compare(originalValue, previous_value) == FALSE);
+	if(fire_signal && value_changed)
 	{
 		firePropertyChanged(originalValue);
 	}
-- 
GitLab