diff options
Diffstat (limited to 'OpenSim/Region/Environment')
-rw-r--r-- | OpenSim/Region/Environment/Modules/TextureDownloadModule.cs | 10 | ||||
-rw-r--r-- | OpenSim/Region/Environment/Scenes/ScenePresence.cs | 22 |
2 files changed, 20 insertions, 12 deletions
diff --git a/OpenSim/Region/Environment/Modules/TextureDownloadModule.cs b/OpenSim/Region/Environment/Modules/TextureDownloadModule.cs index d126569..0adace1 100644 --- a/OpenSim/Region/Environment/Modules/TextureDownloadModule.cs +++ b/OpenSim/Region/Environment/Modules/TextureDownloadModule.cs | |||
@@ -319,7 +319,15 @@ namespace OpenSim.Region.Environment.Modules | |||
319 | int size = m_asset.Data.Length - 600 - (1000 * (PacketCounter - 1)); | 319 | int size = m_asset.Data.Length - 600 - (1000 * (PacketCounter - 1)); |
320 | if (size > 1000) size = 1000; | 320 | if (size > 1000) size = 1000; |
321 | im.ImageData.Data = new byte[size]; | 321 | im.ImageData.Data = new byte[size]; |
322 | Array.Copy(m_asset.Data, 600 + (1000 * (PacketCounter - 1)), im.ImageData.Data, 0, size); | 322 | try |
323 | { | ||
324 | Array.Copy(m_asset.Data, 600 + (1000 * (PacketCounter - 1)), im.ImageData.Data, 0, size); | ||
325 | } | ||
326 | catch (System.ArgumentOutOfRangeException) | ||
327 | { | ||
328 | OpenSim.Framework.Console.MainLog.Instance.Warn("TEXTURE", "Unable to separate texture into multiple packets: Array bounds failure on asset:" + m_asset.FullID.ToString() + "- TextureDownloadModule.cs. line:328"); | ||
329 | return; | ||
330 | } | ||
323 | RequestUser.OutPacket(im, ThrottleOutPacketType.Texture); | 331 | RequestUser.OutPacket(im, ThrottleOutPacketType.Texture); |
324 | PacketCounter++; | 332 | PacketCounter++; |
325 | } | 333 | } |
diff --git a/OpenSim/Region/Environment/Scenes/ScenePresence.cs b/OpenSim/Region/Environment/Scenes/ScenePresence.cs index 5570136..03f1a70 100644 --- a/OpenSim/Region/Environment/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Environment/Scenes/ScenePresence.cs | |||
@@ -999,17 +999,17 @@ namespace OpenSim.Region.Environment.Scenes | |||
999 | if (m_physicsActor.Flying) | 999 | if (m_physicsActor.Flying) |
1000 | { | 1000 | { |
1001 | direc *= 4; | 1001 | direc *= 4; |
1002 | bool controlland = (((m_AgentControlFlags & (uint)AgentManager.ControlFlags.AGENT_CONTROL_UP_NEG) != 0) || ((m_AgentControlFlags & (uint)AgentManager.ControlFlags.AGENT_CONTROL_NUDGE_UP_NEG) != 0)); | 1002 | //bool controlland = (((m_AgentControlFlags & (uint)AgentManager.ControlFlags.AGENT_CONTROL_UP_NEG) != 0) || ((m_AgentControlFlags & (uint)AgentManager.ControlFlags.AGENT_CONTROL_NUDGE_UP_NEG) != 0)); |
1003 | bool colliding = (m_physicsActor.IsColliding==true); | 1003 | //bool colliding = (m_physicsActor.IsColliding==true); |
1004 | if (controlland) | 1004 | //if (controlland) |
1005 | MainLog.Instance.Verbose("AGENT","landCommand"); | 1005 | // MainLog.Instance.Verbose("AGENT","landCommand"); |
1006 | if (colliding ) | 1006 | //if (colliding ) |
1007 | MainLog.Instance.Verbose("AGENT","colliding"); | 1007 | // MainLog.Instance.Verbose("AGENT","colliding"); |
1008 | if (m_physicsActor.Flying && colliding && controlland) | 1008 | //if (m_physicsActor.Flying && colliding && controlland) |
1009 | { | 1009 | //{ |
1010 | StopFlying(); | 1010 | // StopFlying(); |
1011 | MainLog.Instance.Verbose("AGENT", "Stop FLying"); | 1011 | // MainLog.Instance.Verbose("AGENT", "Stop FLying"); |
1012 | } | 1012 | //} |
1013 | } | 1013 | } |
1014 | else | 1014 | else |
1015 | { | 1015 | { |