aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--OpenSim.RegionServer/SimClient.cs12
-rw-r--r--OpenSim.RegionServer/world/AvatarUpdate.cs6
2 files changed, 17 insertions, 1 deletions
diff --git a/OpenSim.RegionServer/SimClient.cs b/OpenSim.RegionServer/SimClient.cs
index e4c445b..d716bd6 100644
--- a/OpenSim.RegionServer/SimClient.cs
+++ b/OpenSim.RegionServer/SimClient.cs
@@ -731,7 +731,17 @@ namespace OpenSim
731 { 731 {
732 if (!NeedAck.ContainsKey(Pack.Header.Sequence)) 732 if (!NeedAck.ContainsKey(Pack.Header.Sequence))
733 { 733 {
734 NeedAck.Add(Pack.Header.Sequence, Pack); 734 try
735 {
736 NeedAck.Add(Pack.Header.Sequence, Pack);
737 }
738 catch (Exception e)
739 {
740 // Ignore
741 // Seems to throw a exception here occasionally
742 // of 'duplicate key' despite being locked.
743 // !?!?!?
744 }
735 } 745 }
736 else 746 else
737 { 747 {
diff --git a/OpenSim.RegionServer/world/AvatarUpdate.cs b/OpenSim.RegionServer/world/AvatarUpdate.cs
index 6c0ace7..34d032c 100644
--- a/OpenSim.RegionServer/world/AvatarUpdate.cs
+++ b/OpenSim.RegionServer/world/AvatarUpdate.cs
@@ -10,6 +10,12 @@ namespace OpenSim.world
10 { 10 {
11 public override void update() 11 public override void update()
12 { 12 {
13 if (this._physActor == null)
14 {
15 //HACKHACK: Note to work out why this entity does not have a physics actor
16 // and prehaps create one.
17 return;
18 }
13 libsecondlife.LLVector3 pos2 = new LLVector3(this._physActor.Position.X, this._physActor.Position.Y, this._physActor.Position.Z); 19 libsecondlife.LLVector3 pos2 = new LLVector3(this._physActor.Position.X, this._physActor.Position.Y, this._physActor.Position.Z);
14 if (this.updateflag) 20 if (this.updateflag)
15 { 21 {