diff --git a/.nant/local.include b/.nant/local.include index f78c6a6987..5e02665f2a 100644 --- a/.nant/local.include +++ b/.nant/local.include @@ -58,10 +58,12 @@ + @@ -115,16 +117,18 @@ + @@ -238,10 +242,12 @@ + @@ -271,7 +277,7 @@ - + diff --git a/OpenSim/Framework/AvatarAppearance.cs b/OpenSim/Framework/AvatarAppearance.cs index 3f4214e580..56fcc150aa 100644 --- a/OpenSim/Framework/AvatarAppearance.cs +++ b/OpenSim/Framework/AvatarAppearance.cs @@ -66,6 +66,8 @@ namespace OpenSim.Framework private static UUID SHIRT_ITEM = new UUID("77c41e39-38f9-f75a-0000-585989bf0000"); private static UUID PANTS_ASSET = new UUID("00000000-38f9-1111-024e-222222111120"); private static UUID PANTS_ITEM = new UUID("77c41e39-38f9-f75a-0000-5859892f1111"); + private static UUID HAIR_ASSET = new UUID("d342e6c0-b9d2-11dc-95ff-0800200c9a66"); + private static UUID HAIR_ITEM = new UUID("d342e6c1-b9d2-11dc-95ff-0800200c9a66"); public readonly static int VISUALPARAM_COUNT = 218; @@ -238,6 +240,8 @@ namespace OpenSim.Framework m_wearables[BODY].ItemID = BODY_ITEM; m_wearables[SKIN].AssetID = SKIN_ASSET; m_wearables[SKIN].ItemID = SKIN_ITEM; + m_wearables[HAIR].AssetID = HAIR_ASSET; + m_wearables[HAIR].ItemID = HAIR_ITEM; m_wearables[SHIRT].AssetID = SHIRT_ASSET; m_wearables[SHIRT].ItemID = SHIRT_ITEM; m_wearables[PANTS].AssetID = PANTS_ASSET; diff --git a/OpenSim/Framework/AvatarWearable.cs b/OpenSim/Framework/AvatarWearable.cs index 4a5253ceb3..87d9e617b8 100644 --- a/OpenSim/Framework/AvatarWearable.cs +++ b/OpenSim/Framework/AvatarWearable.cs @@ -60,6 +60,10 @@ namespace OpenSim.Framework // Body defaultWearables[0].ItemID = new UUID("66c41e39-38f9-f75a-024e-585989bfaba9"); defaultWearables[0].AssetID = new UUID("66c41e39-38f9-f75a-024e-585989bfab73"); + + // Hair + defaultWearables[2].ItemID = new UUID("d342e6c1-b9d2-11dc-95ff-0800200c9a66"); + defaultWearables[2].AssetID = new UUID("d342e6c0-b9d2-11dc-95ff-0800200c9a66"); // Skin defaultWearables[1].ItemID = new UUID("77c41e39-38f9-f75a-024e-585989bfabc9"); diff --git a/OpenSim/Region/Application/OpenSimBase.cs b/OpenSim/Region/Application/OpenSimBase.cs index 4592c318b5..3df3a1cb47 100644 --- a/OpenSim/Region/Application/OpenSimBase.cs +++ b/OpenSim/Region/Application/OpenSimBase.cs @@ -459,7 +459,8 @@ namespace OpenSim scene.DeleteAllSceneObjects(); m_sceneManager.CloseScene(scene); - + ShutdownClientServer(scene.RegionInfo); + if (!cleanup) return; @@ -519,7 +520,7 @@ namespace OpenSim } m_sceneManager.CloseScene(scene); - + ShutdownClientServer(scene.RegionInfo); } /// @@ -653,12 +654,10 @@ namespace OpenSim storageManager, m_moduleLoader, false, m_configSettings.PhysicalPrim, m_configSettings.See_into_region_from_neighbor, m_config.Source, m_version); } - - public void handleRestartRegion(RegionInfo whichRegion) + + protected void ShutdownClientServer(RegionInfo whichRegion) { - m_log.Info("[OPENSIM]: Got restart signal from SceneManager"); - - // Shutting down the client server + // Close and remove the clientserver for a region bool foundClientServer = false; int clientServerElement = 0; Location location = new Location(whichRegion.RegionHandle); @@ -678,6 +677,13 @@ namespace OpenSim m_clientServers[clientServerElement].NetworkStop(); m_clientServers.RemoveAt(clientServerElement); } + } + + public void handleRestartRegion(RegionInfo whichRegion) + { + m_log.Info("[OPENSIM]: Got restart signal from SceneManager"); + + ShutdownClientServer(whichRegion); IScene scene; CreateRegion(whichRegion, true, out scene); } diff --git a/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs b/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs index e6951337e6..847da8c194 100644 --- a/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs +++ b/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs @@ -642,7 +642,7 @@ namespace OpenSim.Region.ScriptEngine.XEngine m_ScriptErrorMessage += "Failed to compile script in object: '" + part.ParentGroup.RootPart.Name + "' Script name: '" + item.Name + "' Error message: " + e.Message.ToString(); m_ScriptFailCount++; - string text = "Error compiling script:\n" + e.Message.ToString(); + string text = "Error compiling script '" + item.Name + "':\n" + e.Message.ToString(); if (text.Length > 1000) text = text.Substring(0, 1000); World.SimChat(Utils.StringToBytes(text),