aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Framework')
-rw-r--r--OpenSim/Region/Framework/Scenes/Scene.cs15
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneGraph.cs1
-rw-r--r--OpenSim/Region/Framework/Scenes/ScenePresence.cs6
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