diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index 041cbb9be3..f434ef1068 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs @@ -6727,7 +6727,14 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public void llSetObjectName(string name) { - m_host.Name = name ?? String.Empty; + name ??= string.Empty; + if(name != m_host.Name) + { + m_host.Name = name; + m_host.ScheduleFullUpdate(); + if(m_host.ParentGroup != null) + m_host.ParentGroup.HasGroupChanged = true; + } } public LSL_String llGetDate() @@ -10499,7 +10506,13 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api try { string primName = rules.GetStrictStringItem(idx++); - part.Name = primName; + if(primName != part.Name) + { + part.Name = primName; + part.ScheduleFullUpdate(); + if(part.ParentGroup is not null) + part.ParentGroup.HasGroupChanged = true; + } } catch(InvalidCastException) { @@ -10513,7 +10526,13 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api try { string primDesc = rules.GetStrictStringItem(idx++); - part.Description = primDesc; + if(primDesc != part.Description) + { + part.Description = primDesc; + part.ScheduleFullUpdate(); + if(part.ParentGroup is not null) + part.ParentGroup.HasGroupChanged = true; + } } catch(InvalidCastException) { @@ -11414,7 +11433,14 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public void llSetObjectDesc(string desc) { - m_host.Description = desc ?? String.Empty; + desc ??= string.Empty; + if (desc != m_host.Description) + { + m_host.Description = desc; + m_host.ScheduleFullUpdate(); + if (m_host.ParentGroup is not null) + m_host.ParentGroup.HasGroupChanged = true; + } } public LSL_Key llGetCreator()