diff options
Diffstat (limited to 'OpenSim/Region/Framework')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Scene.Inventory.cs | 2 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Scene.cs | 2 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/ScenePresence.cs | 8 |
3 files changed, 9 insertions, 3 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs index b0f0de6..cd01a05 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs | |||
@@ -713,7 +713,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
713 | newName = item.Name; | 713 | newName = item.Name; |
714 | } | 714 | } |
715 | 715 | ||
716 | if (remoteClient.AgentId == oldAgentID) | 716 | if (remoteClient.AgentId == oldAgentID || (LibraryService != null && LibraryService.LibraryRootFolder != null && oldAgentID == LibraryService.LibraryRootFolder.Owner)) |
717 | { | 717 | { |
718 | CreateNewInventoryItem( | 718 | CreateNewInventoryItem( |
719 | remoteClient, item.CreatorId, item.CreatorData, newFolderID, newName, item.Flags, callbackID, asset, (sbyte)item.InvType, | 719 | remoteClient, item.CreatorId, item.CreatorData, newFolderID, newName, item.Flags, callbackID, asset, (sbyte)item.InvType, |
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index b537381..49fbe33 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs | |||
@@ -775,6 +775,8 @@ namespace OpenSim.Region.Framework.Scenes | |||
775 | m_regInfo = regInfo; | 775 | m_regInfo = regInfo; |
776 | m_eventManager = new EventManager(); | 776 | m_eventManager = new EventManager(); |
777 | 777 | ||
778 | m_permissions = new ScenePermissions(this); | ||
779 | |||
778 | m_lastUpdate = Util.EnvironmentTickCount(); | 780 | m_lastUpdate = Util.EnvironmentTickCount(); |
779 | } | 781 | } |
780 | 782 | ||
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index 631c91b..f6295b1 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs | |||
@@ -2430,8 +2430,12 @@ namespace OpenSim.Region.Framework.Scenes | |||
2430 | float speed = Velocity.Length(); | 2430 | float speed = Velocity.Length(); |
2431 | float velocidyDiff = Vector3.Distance(lastVelocitySentToAllClients, Velocity); | 2431 | float velocidyDiff = Vector3.Distance(lastVelocitySentToAllClients, Velocity); |
2432 | 2432 | ||
2433 | // assuming 5 ms. worst case precision for timer, use 2x that | ||
2434 | // for distance error threshold | ||
2435 | float distanceErrorThreshold = speed * 0.01f; | ||
2436 | |||
2433 | if (speed < 0.01f // allow rotation updates if avatar position is unchanged | 2437 | if (speed < 0.01f // allow rotation updates if avatar position is unchanged |
2434 | || Math.Abs(distanceError) > 0.25f // arbitrary distance error threshold | 2438 | || Math.Abs(distanceError) > distanceErrorThreshold |
2435 | || velocidyDiff > 0.01f) // did velocity change from last update? | 2439 | || velocidyDiff > 0.01f) // did velocity change from last update? |
2436 | { | 2440 | { |
2437 | m_perfMonMS = currentTick; | 2441 | m_perfMonMS = currentTick; |
@@ -3151,7 +3155,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
3151 | { | 3155 | { |
3152 | cAgent.AttachmentObjects = new List<ISceneObject>(); | 3156 | cAgent.AttachmentObjects = new List<ISceneObject>(); |
3153 | cAgent.AttachmentObjectStates = new List<string>(); | 3157 | cAgent.AttachmentObjectStates = new List<string>(); |
3154 | IScriptModule se = m_scene.RequestModuleInterface<IScriptModule>(); | 3158 | // IScriptModule se = m_scene.RequestModuleInterface<IScriptModule>(); |
3155 | m_InTransitScriptStates.Clear(); | 3159 | m_InTransitScriptStates.Clear(); |
3156 | foreach (SceneObjectGroup sog in m_attachments) | 3160 | foreach (SceneObjectGroup sog in m_attachments) |
3157 | { | 3161 | { |