Mantis 6028 osAvatarStopAnimation not stopping animations via UUID
Corrected to stop animations using the animation UUID similar to llStopAnimation. See http://opensimulator.org/wiki/OsAvatarStopAnimation0.7.4.1
parent
67ebe80dd9
commit
120f8145fc
|
@ -957,16 +957,20 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
||||||
ScenePresence target = (ScenePresence)World.Entities[avatarID];
|
ScenePresence target = (ScenePresence)World.Entities[avatarID];
|
||||||
if (target != null)
|
if (target != null)
|
||||||
{
|
{
|
||||||
UUID animID = UUID.Zero;
|
UUID animID = new UUID();
|
||||||
lock (m_host.TaskInventory)
|
if (!UUID.TryParse(animation, out animID))
|
||||||
{
|
{
|
||||||
foreach (KeyValuePair<UUID, TaskInventoryItem> inv in m_host.TaskInventory)
|
animID = UUID.Zero;
|
||||||
|
lock (m_host.TaskInventory)
|
||||||
{
|
{
|
||||||
if (inv.Value.Name == animation)
|
foreach (KeyValuePair<UUID, TaskInventoryItem> inv in m_host.TaskInventory)
|
||||||
{
|
{
|
||||||
if (inv.Value.Type == (int)AssetType.Animation)
|
if (inv.Value.Name == animation)
|
||||||
animID = inv.Value.AssetID;
|
{
|
||||||
continue;
|
if (inv.Value.Type == (int)AssetType.Animation)
|
||||||
|
animID = inv.Value.AssetID;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue