* This fixes having to select and deselect prim to get keyframemotion to start running when pulled from data storage.

cpu-performance
teravus 2013-06-12 18:13:00 -05:00
parent 824a4b4808
commit 3357300362
3 changed files with 8 additions and 4 deletions

View File

@ -457,8 +457,6 @@ namespace OpenSim.Data.MySQL
if (prim.ParentUUID == UUID.Zero) if (prim.ParentUUID == UUID.Zero)
{ {
objects[prim.UUID] = new SceneObjectGroup(prim); objects[prim.UUID] = new SceneObjectGroup(prim);
if (prim.KeyframeMotion != null)
prim.KeyframeMotion.UpdateSceneObject(objects[prim.UUID]);
} }
} }

View File

@ -732,11 +732,12 @@ namespace OpenSim.Data.SQLite
} }
SceneObjectGroup group = new SceneObjectGroup(prim); SceneObjectGroup group = new SceneObjectGroup(prim);
if (prim.KeyframeMotion != null)
prim.KeyframeMotion.UpdateSceneObject(group);
createdObjects.Add(group.UUID, group); createdObjects.Add(group.UUID, group);
retvals.Add(group); retvals.Add(group);
LoadItems(prim); LoadItems(prim);
} }
} }
catch (Exception e) catch (Exception e)

View File

@ -763,6 +763,11 @@ namespace OpenSim.Region.Framework.Scenes
for (int i = 0; i < parts.Length; i++) for (int i = 0; i < parts.Length; i++)
{ {
SceneObjectPart part = parts[i]; SceneObjectPart part = parts[i];
if (part.KeyframeMotion != null)
{
part.KeyframeMotion.UpdateSceneObject(this);
}
if (Object.ReferenceEquals(part, m_rootPart)) if (Object.ReferenceEquals(part, m_rootPart))
continue; continue;