diff options
author | Melanie | 2013-01-08 13:57:45 +0100 |
---|---|---|
committer | Melanie | 2013-01-08 13:57:45 +0100 |
commit | ef8f03b711e7d15443b9f0a597632e75e3d86ddc (patch) | |
tree | 9c803c4c182b131a945a23e6baf3d7061b8d38a0 /OpenSim | |
parent | put back position and rot change check before sending releasing plane constrain (diff) | |
download | opensim-SC_OLD-ef8f03b711e7d15443b9f0a597632e75e3d86ddc.zip opensim-SC_OLD-ef8f03b711e7d15443b9f0a597632e75e3d86ddc.tar.gz opensim-SC_OLD-ef8f03b711e7d15443b9f0a597632e75e3d86ddc.tar.bz2 opensim-SC_OLD-ef8f03b711e7d15443b9f0a597632e75e3d86ddc.tar.xz |
Prevent avatar data from being sent during login when it's not valid and
crashes login on some viewers.
Diffstat (limited to 'OpenSim')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Scene.cs | 1 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/ScenePresence.cs | 7 |
2 files changed, 6 insertions, 2 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index c99e37e..23006f2 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs | |||
@@ -2977,6 +2977,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
2977 | // start the scripts again (since this is done in RezAttachments()). | 2977 | // start the scripts again (since this is done in RezAttachments()). |
2978 | // XXX: This is convoluted. | 2978 | // XXX: This is convoluted. |
2979 | sp.IsChildAgent = false; | 2979 | sp.IsChildAgent = false; |
2980 | sp.IsLoggingIn = true; | ||
2980 | 2981 | ||
2981 | if (AttachmentsModule != null) | 2982 | if (AttachmentsModule != null) |
2982 | Util.FireAndForget(delegate(object o) { AttachmentsModule.RezAttachments(sp); }); | 2983 | Util.FireAndForget(delegate(object o) { AttachmentsModule.RezAttachments(sp); }); |
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index cdba282..48212d0 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs | |||
@@ -607,6 +607,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
607 | } | 607 | } |
608 | 608 | ||
609 | public bool IsChildAgent { get; set; } | 609 | public bool IsChildAgent { get; set; } |
610 | public bool IsLoggingIn { get; set; } | ||
610 | 611 | ||
611 | /// <summary> | 612 | /// <summary> |
612 | /// If the avatar is sitting, the local ID of the prim that it's sitting on. If not sitting then zero. | 613 | /// If the avatar is sitting, the local ID of the prim that it's sitting on. If not sitting then zero. |
@@ -743,6 +744,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
743 | AttachmentsSyncLock = new Object(); | 744 | AttachmentsSyncLock = new Object(); |
744 | AllowMovement = true; | 745 | AllowMovement = true; |
745 | IsChildAgent = true; | 746 | IsChildAgent = true; |
747 | IsLoggingIn = false; | ||
746 | m_sendCoarseLocationsMethod = SendCoarseLocationsDefault; | 748 | m_sendCoarseLocationsMethod = SendCoarseLocationsDefault; |
747 | Animator = new ScenePresenceAnimator(this); | 749 | Animator = new ScenePresenceAnimator(this); |
748 | PresenceType = type; | 750 | PresenceType = type; |
@@ -915,6 +917,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
915 | else | 917 | else |
916 | { | 918 | { |
917 | IsChildAgent = false; | 919 | IsChildAgent = false; |
920 | IsLoggingIn = false; | ||
918 | } | 921 | } |
919 | 922 | ||
920 | 923 | ||
@@ -2541,13 +2544,13 @@ namespace OpenSim.Region.Framework.Scenes | |||
2541 | // NOTE: Velocity is not the same as m_velocity. Velocity will attempt to | 2544 | // NOTE: Velocity is not the same as m_velocity. Velocity will attempt to |
2542 | // grab the latest PhysicsActor velocity, whereas m_velocity is often | 2545 | // grab the latest PhysicsActor velocity, whereas m_velocity is often |
2543 | // storing a requested force instead of an actual traveling velocity | 2546 | // storing a requested force instead of an actual traveling velocity |
2544 | if (Appearance.AvatarSize != m_lastSize) | 2547 | if (Appearance.AvatarSize != m_lastSize && !IsLoggingIn) |
2545 | { | 2548 | { |
2546 | m_lastSize = Appearance.AvatarSize; | 2549 | m_lastSize = Appearance.AvatarSize; |
2547 | SendAvatarDataToAllAgents(); | 2550 | SendAvatarDataToAllAgents(); |
2548 | } | 2551 | } |
2549 | 2552 | ||
2550 | else if (!Rotation.ApproxEquals(m_lastRotation, ROTATION_TOLERANCE) || | 2553 | if (!Rotation.ApproxEquals(m_lastRotation, ROTATION_TOLERANCE) || |
2551 | !Velocity.ApproxEquals(m_lastVelocity, VELOCITY_TOLERANCE) || | 2554 | !Velocity.ApproxEquals(m_lastVelocity, VELOCITY_TOLERANCE) || |
2552 | !m_pos.ApproxEquals(m_lastPosition, POSITION_TOLERANCE)) | 2555 | !m_pos.ApproxEquals(m_lastPosition, POSITION_TOLERANCE)) |
2553 | { | 2556 | { |