Go back to resetting the State parameter for all parts of a SOG when SOG.ClearPartAttachmentData() is called.
Even though we don't use these on rez they are still present after an unlink, after which selecting them causes various viewers to crash Hopefully really does address http://opensimulator.org/mantis/view.php?id=5664remove-scene-viewer
parent
af7c6c5f39
commit
26b471f25a
|
@ -794,14 +794,17 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
|
||||||
m_log.Debug("[InventoryAccessModule]: Object has UUID.Zero! Position 3");
|
m_log.Debug("[InventoryAccessModule]: Object has UUID.Zero! Position 3");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!attachment)
|
||||||
|
{
|
||||||
// If it's rezzed in world, select it. Much easier to
|
// If it's rezzed in world, select it. Much easier to
|
||||||
// find small items.
|
// find small items.
|
||||||
//
|
//
|
||||||
if (!attachment)
|
|
||||||
{
|
|
||||||
group.RootPart.CreateSelected = true;
|
group.RootPart.CreateSelected = true;
|
||||||
foreach (SceneObjectPart child in group.Parts)
|
|
||||||
child.CreateSelected = true;
|
foreach (SceneObjectPart part in group.Parts)
|
||||||
|
{
|
||||||
|
part.CreateSelected = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
group.ResetIDs();
|
group.ResetIDs();
|
||||||
|
|
|
@ -183,6 +183,12 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
public void ClearPartAttachmentData()
|
public void ClearPartAttachmentData()
|
||||||
{
|
{
|
||||||
AttachmentPoint = 0;
|
AttachmentPoint = 0;
|
||||||
|
|
||||||
|
// Even though we don't use child part state parameters for attachments any more, we still need to set
|
||||||
|
// these to zero since having them non-zero in rezzed scene objects will crash some clients. Even if
|
||||||
|
// we store them correctly, scene objects that we receive from elsewhere might not.
|
||||||
|
foreach (SceneObjectPart part in Parts)
|
||||||
|
part.Shape.State = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
Loading…
Reference in New Issue