diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsOut/UserAccounts/UserAccountCache.cs b/OpenSim/Region/CoreModules/ServiceConnectorsOut/UserAccounts/UserAccountCache.cs index e1bc243c9e..fb2edb91a9 100644 --- a/OpenSim/Region/CoreModules/ServiceConnectorsOut/UserAccounts/UserAccountCache.cs +++ b/OpenSim/Region/CoreModules/ServiceConnectorsOut/UserAccounts/UserAccountCache.cs @@ -55,7 +55,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.UserAccounts if (account != null) m_NameCache.AddOrUpdate(account.Name, account.PrincipalID, DateTime.Now + TimeSpan.FromMinutes(2.0d)); - m_log.DebugFormat("[USER CACHE]: cached user {0}", userID); + // m_log.DebugFormat("[USER CACHE]: cached user {0}", userID); } public UserAccount Get(UUID userID, out bool inCache) diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index 7a9766957a..7c89e659dc 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs @@ -3335,7 +3335,9 @@ namespace OpenSim.Region.Framework.Scenes m_sceneGridService.SendCloseChildAgentConnections(agentID, regions); } + m_log.Debug("[Scene] Beginning ClientClosed"); m_eventManager.TriggerClientClosed(agentID, this); + m_log.Debug("[Scene] Finished ClientClosed"); } catch (NullReferenceException) { @@ -3343,7 +3345,9 @@ namespace OpenSim.Region.Framework.Scenes // Avatar is already disposed :/ } + m_log.Debug("[Scene] Beginning OnRemovePresence"); m_eventManager.TriggerOnRemovePresence(agentID); + m_log.Debug("[Scene] Finished OnRemovePresence"); ForEachClient( delegate(IClientAPI client) { @@ -3359,8 +3363,11 @@ namespace OpenSim.Region.Framework.Scenes } // Remove the avatar from the scene + m_log.Debug("[Scene] Begin RemoveScenePresence"); m_sceneGraph.RemoveScenePresence(agentID); + m_log.Debug("[Scene] Finished RemoveScenePresence. Removing the client manager"); m_clientManager.Remove(agentID); + m_log.Debug("[Scene] Removed the client manager. Firing avatar.close"); try { @@ -3374,9 +3381,9 @@ namespace OpenSim.Region.Framework.Scenes { m_log.Error("[SCENE] Scene.cs:RemoveClient exception: " + e.ToString()); } - + m_log.Debug("[Scene] Done. Firing RemoveCircuit"); m_authenticateHandler.RemoveCircuit(avatar.ControllingClient.CircuitCode); - + m_log.Debug("[Scene] The avatar has left the building"); //m_log.InfoFormat("[SCENE] Memory pre GC {0}", System.GC.GetTotalMemory(false)); //m_log.InfoFormat("[SCENE] Memory post GC {0}", System.GC.GetTotalMemory(true)); } diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs index fbe1da9867..dd780b7a15 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs @@ -1827,7 +1827,7 @@ namespace OpenSim.Region.Framework.Scenes // which stops client-side interpolation of deactivated joint proxy objects. } - if (!UsePhysics) + if (!UsePhysics && !isNew) { // reset velocity to 0 on physics switch-off. Without that, the client thinks the // prim still has velocity and continues to interpolate its position along the old diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index 1486e2aa79..9bece31300 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs @@ -4200,25 +4200,27 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api { m_host.AddScriptLPS(1); + List inv; try { m_host.TaskInventory.LockItemsForRead(true); - foreach (TaskInventoryItem item in m_host.TaskInventory.Values) - { - if (item.Name == name) - { - if (item.ItemID == m_itemID) - throw new ScriptDeleteException(); - else - m_host.Inventory.RemoveInventoryItem(item.ItemID); - return; - } - } + inv = new List(m_host.TaskInventory.Values); } finally { m_host.TaskInventory.LockItemsForRead(false); } + foreach (TaskInventoryItem item in inv) + { + if (item.Name == name) + { + if (item.ItemID == m_itemID) + throw new ScriptDeleteException(); + else + m_host.Inventory.RemoveInventoryItem(item.ItemID); + return; + } + } } public void llSetText(string text, LSL_Vector color, double alpha) diff --git a/OpenSim/Services/Connectors/UserAccounts/UserAccountServiceConnector.cs b/OpenSim/Services/Connectors/UserAccounts/UserAccountServiceConnector.cs index 38c191a913..67c482b261 100644 --- a/OpenSim/Services/Connectors/UserAccounts/UserAccountServiceConnector.cs +++ b/OpenSim/Services/Connectors/UserAccounts/UserAccountServiceConnector.cs @@ -113,7 +113,7 @@ namespace OpenSim.Services.Connectors public virtual UserAccount GetUserAccount(UUID scopeID, UUID userID) { - m_log.DebugFormat("[ACCOUNTS CONNECTOR]: GetUserAccount {0}", userID); + // m_log.DebugFormat("[ACCOUNTS CONNECTOR]: GetUserAccount {0}", userID); Dictionary sendData = new Dictionary(); //sendData["SCOPEID"] = scopeID.ToString(); sendData["VERSIONMIN"] = ProtocolVersions.ClientProtocolVersionMin.ToString(); diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 466da9352b..00a85695ba 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -1278,6 +1278,10 @@ UseSafetyCommit = true ; Enable media on a prim facilities Enabled = true; +[MOTD] +Enabled = false +Message = "The MOTD module is working!" + ;; ;; These are defaults that are overwritten below in [Architecture].