diff options
Diffstat (limited to 'OpenSim/Region/Framework')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Scene.cs | 15 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneGraph.cs | 1 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/ScenePresence.cs | 6 |
3 files changed, 10 insertions, 12 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index d17814d..792115a 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs | |||
@@ -2391,16 +2391,14 @@ namespace OpenSim.Region.Framework.Scenes | |||
2391 | m_log.DebugFormat("[SCENE]: Problem adding scene object {0} in {1} ", sog.UUID, RegionInfo.RegionName); | 2391 | m_log.DebugFormat("[SCENE]: Problem adding scene object {0} in {1} ", sog.UUID, RegionInfo.RegionName); |
2392 | return false; | 2392 | return false; |
2393 | } | 2393 | } |
2394 | 2394 | ||
2395 | newObject.RootPart.ParentGroup.CreateScriptInstances(0, false, DefaultScriptEngine, 2); | 2395 | newObject.RootPart.ParentGroup.CreateScriptInstances(0, false, DefaultScriptEngine, GetStateSource(newObject)); |
2396 | 2396 | ||
2397 | newObject.ResumeScripts(); | 2397 | newObject.ResumeScripts(); |
2398 | 2398 | ||
2399 | // Do this as late as possible so that listeners have full access to the incoming object | 2399 | // Do this as late as possible so that listeners have full access to the incoming object |
2400 | EventManager.TriggerOnIncomingSceneObject(newObject); | 2400 | EventManager.TriggerOnIncomingSceneObject(newObject); |
2401 | 2401 | ||
2402 | TriggerChangedTeleport(newObject); | ||
2403 | |||
2404 | return true; | 2402 | return true; |
2405 | } | 2403 | } |
2406 | 2404 | ||
@@ -2527,7 +2525,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
2527 | return true; | 2525 | return true; |
2528 | } | 2526 | } |
2529 | 2527 | ||
2530 | private void TriggerChangedTeleport(SceneObjectGroup sog) | 2528 | private int GetStateSource(SceneObjectGroup sog) |
2531 | { | 2529 | { |
2532 | ScenePresence sp = GetScenePresence(sog.OwnerID); | 2530 | ScenePresence sp = GetScenePresence(sog.OwnerID); |
2533 | 2531 | ||
@@ -2538,13 +2536,12 @@ namespace OpenSim.Region.Framework.Scenes | |||
2538 | if (aCircuit != null && (aCircuit.teleportFlags != (uint)TeleportFlags.Default)) | 2536 | if (aCircuit != null && (aCircuit.teleportFlags != (uint)TeleportFlags.Default)) |
2539 | { | 2537 | { |
2540 | // This will get your attention | 2538 | // This will get your attention |
2541 | //m_log.Error("[XXX] Triggering "); | 2539 | //m_log.Error("[XXX] Triggering CHANGED_TELEPORT"); |
2542 | 2540 | ||
2543 | // Trigger CHANGED_TELEPORT | 2541 | return 5; // StateSource.Teleporting |
2544 | sp.Scene.EventManager.TriggerOnScriptChangedEvent(sog.LocalId, (uint)Changed.TELEPORT); | ||
2545 | } | 2542 | } |
2546 | |||
2547 | } | 2543 | } |
2544 | return 2; // StateSource.PrimCrossing | ||
2548 | } | 2545 | } |
2549 | 2546 | ||
2550 | #endregion | 2547 | #endregion |
diff --git a/OpenSim/Region/Framework/Scenes/SceneGraph.cs b/OpenSim/Region/Framework/Scenes/SceneGraph.cs index b2d9358..ecc7f40 100644 --- a/OpenSim/Region/Framework/Scenes/SceneGraph.cs +++ b/OpenSim/Region/Framework/Scenes/SceneGraph.cs | |||
@@ -1639,6 +1639,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
1639 | { | 1639 | { |
1640 | parentGroup.areUpdatesSuspended = false; | 1640 | parentGroup.areUpdatesSuspended = false; |
1641 | parentGroup.HasGroupChanged = true; | 1641 | parentGroup.HasGroupChanged = true; |
1642 | parentGroup.ProcessBackup(m_parentScene.SimulationDataService, true); | ||
1642 | parentGroup.ScheduleGroupForFullUpdate(); | 1643 | parentGroup.ScheduleGroupForFullUpdate(); |
1643 | Monitor.Exit(m_updateLock); | 1644 | Monitor.Exit(m_updateLock); |
1644 | } | 1645 | } |
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index 5a842d8..7ce94d4 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs | |||
@@ -2789,7 +2789,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
2789 | // If we aren't using a cached appearance, then clear out the baked textures | 2789 | // If we aren't using a cached appearance, then clear out the baked textures |
2790 | if (! cachedappearance) | 2790 | if (! cachedappearance) |
2791 | { | 2791 | { |
2792 | m_appearance.ResetBakedTextures(); | 2792 | m_appearance.ResetAppearance(); |
2793 | if (m_scene.AvatarFactory != null) | 2793 | if (m_scene.AvatarFactory != null) |
2794 | m_scene.AvatarFactory.QueueAppearanceSave(UUID); | 2794 | m_scene.AvatarFactory.QueueAppearanceSave(UUID); |
2795 | } | 2795 | } |
@@ -2799,12 +2799,12 @@ namespace OpenSim.Region.Framework.Scenes | |||
2799 | // again here... this comes after the cached appearance check because the avatars | 2799 | // again here... this comes after the cached appearance check because the avatars |
2800 | // appearance goes into the avatar update packet | 2800 | // appearance goes into the avatar update packet |
2801 | SendAvatarDataToAllAgents(); | 2801 | SendAvatarDataToAllAgents(); |
2802 | SendAppearanceToAgent(this); | ||
2802 | 2803 | ||
2803 | // If we are using the the cached appearance then send it out to everyone | 2804 | // If we are using the the cached appearance then send it out to everyone |
2804 | if (cachedappearance) | 2805 | if (cachedappearance) |
2805 | { | 2806 | { |
2806 | m_log.WarnFormat("[SCENEPRESENCE]: baked textures are in the cache for {0}", Name); | 2807 | m_log.InfoFormat("[SCENEPRESENCE]: baked textures are in the cache for {0}", Name); |
2807 | SendAppearanceToAgent(this); | ||
2808 | 2808 | ||
2809 | // If the avatars baked textures are all in the cache, then we have a | 2809 | // If the avatars baked textures are all in the cache, then we have a |
2810 | // complete appearance... send it out, if not, then we'll send it when | 2810 | // complete appearance... send it out, if not, then we'll send it when |