* Eliminate SOG.FakeDeleteGroup() since it is now identical with DeleteGroup() (except that is didn't lock the parts, which was a potential race condition)
* Removed fake delete code from LSL_Api.SetFlexi - this code was never activiated anyway and didn't appear to make much sense on the surface0.6.1-post-fixes
parent
48a72f51a8
commit
c41903077d
|
@ -96,7 +96,7 @@ namespace OpenSim.Region.Environment.Scenes
|
|||
|
||||
// Visually remove it, even if it isnt really gone yet.
|
||||
if (permissionToDelete)
|
||||
objectGroup.FakeDeleteGroup();
|
||||
objectGroup.DeleteGroup(false);
|
||||
}
|
||||
|
||||
private void InventoryRunDeleteTimer(object sender, ElapsedEventArgs e)
|
||||
|
|
|
@ -1063,30 +1063,6 @@ namespace OpenSim.Region.Environment.Scenes
|
|||
}
|
||||
}
|
||||
|
||||
public void FakeDeleteGroup()
|
||||
{
|
||||
// If there are any updates queued for this object when the 'fake' delete happens, then make sure
|
||||
// that they don't happen, otherwise the deleted objects will reappear
|
||||
m_isDeleted = true;
|
||||
|
||||
DetachFromBackup();
|
||||
|
||||
foreach (SceneObjectPart part in m_parts.Values)
|
||||
{
|
||||
List<ScenePresence> avatars = Scene.GetScenePresences();
|
||||
for (int i = 0; i < avatars.Count; i++)
|
||||
{
|
||||
if (avatars[i].ParentID == LocalId)
|
||||
{
|
||||
avatars[i].StandUp();
|
||||
}
|
||||
|
||||
if (m_rootPart != null && part == m_rootPart)
|
||||
avatars[i].ControllingClient.SendKillObject(m_regionHandle, part.LocalId);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void AddScriptLPS(int count)
|
||||
{
|
||||
if (scriptScore + count >= float.MaxValue - count)
|
||||
|
|
|
@ -1425,13 +1425,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
|||
if (part == null)
|
||||
return;
|
||||
|
||||
bool needs_fakedelete = false;
|
||||
if (flexi)
|
||||
{
|
||||
if (!part.Shape.FlexiEntry)
|
||||
{
|
||||
needs_fakedelete = true;
|
||||
}
|
||||
part.Shape.FlexiEntry = true; // this setting flexi true isn't working, but the below parameters do
|
||||
// work once the prim is already flexi
|
||||
part.Shape.FlexiSoftness = softness;
|
||||
|
@ -1445,23 +1440,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
|||
part.Shape.PathCurve = 0x80;
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
if (part.Shape.FlexiEntry)
|
||||
{
|
||||
needs_fakedelete = true;
|
||||
}
|
||||
part.Shape.FlexiEntry = false;
|
||||
}
|
||||
|
||||
needs_fakedelete = false;
|
||||
if (needs_fakedelete)
|
||||
{
|
||||
if (part.ParentGroup != null)
|
||||
{
|
||||
part.ParentGroup.FakeDeleteGroup();
|
||||
}
|
||||
}
|
||||
|
||||
part.ParentGroup.HasGroupChanged = true;
|
||||
part.ScheduleFullUpdate();
|
||||
|
|
Loading…
Reference in New Issue