diff options
author | Adam Frisby | 2007-04-22 18:48:45 +0000 |
---|---|---|
committer | Adam Frisby | 2007-04-22 18:48:45 +0000 |
commit | 2194b744734bc21f9d9285d18d47164eef4baffa (patch) | |
tree | 44c2d61934540e14b3aceec68b8db39be0f65335 | |
parent | Added lock around World.Update to prevent multiple updates occuring simultane... (diff) | |
download | opensim-SC_OLD-2194b744734bc21f9d9285d18d47164eef4baffa.zip opensim-SC_OLD-2194b744734bc21f9d9285d18d47164eef4baffa.tar.gz opensim-SC_OLD-2194b744734bc21f9d9285d18d47164eef4baffa.tar.bz2 opensim-SC_OLD-2194b744734bc21f9d9285d18d47164eef4baffa.tar.xz |
Needs testing.
1. Fixed Update Lock (should now compile)
2. Added support for rescaling a primitive without it jerking to the side.
-rw-r--r-- | OpenSim.RegionServer/SimClient.cs | 3 | ||||
-rw-r--r-- | OpenSim.RegionServer/world/Primitive.cs | 7 | ||||
-rw-r--r-- | OpenSim.RegionServer/world/World.cs | 4 |
3 files changed, 11 insertions, 3 deletions
diff --git a/OpenSim.RegionServer/SimClient.cs b/OpenSim.RegionServer/SimClient.cs index d716bd6..4b4132e 100644 --- a/OpenSim.RegionServer/SimClient.cs +++ b/OpenSim.RegionServer/SimClient.cs | |||
@@ -735,8 +735,9 @@ namespace OpenSim | |||
735 | { | 735 | { |
736 | NeedAck.Add(Pack.Header.Sequence, Pack); | 736 | NeedAck.Add(Pack.Header.Sequence, Pack); |
737 | } | 737 | } |
738 | catch (Exception e) | 738 | catch (Exception e) // HACKY |
739 | { | 739 | { |
740 | e.ToString(); | ||
740 | // Ignore | 741 | // Ignore |
741 | // Seems to throw a exception here occasionally | 742 | // Seems to throw a exception here occasionally |
742 | // of 'duplicate key' despite being locked. | 743 | // of 'duplicate key' despite being locked. |
diff --git a/OpenSim.RegionServer/world/Primitive.cs b/OpenSim.RegionServer/world/Primitive.cs index 8ff66f9..6fb5d72 100644 --- a/OpenSim.RegionServer/world/Primitive.cs +++ b/OpenSim.RegionServer/world/Primitive.cs | |||
@@ -52,7 +52,14 @@ namespace OpenSim.world | |||
52 | { | 52 | { |
53 | set | 53 | set |
54 | { | 54 | { |
55 | LLVector3 offset = (value - primData.Scale); | ||
56 | offset.X /= 2; | ||
57 | offset.Y /= 2; | ||
58 | offset.Z /= 2; | ||
59 | |||
60 | this.primData.Position += offset; | ||
55 | this.primData.Scale = value; | 61 | this.primData.Scale = value; |
62 | |||
56 | this.dirtyFlag = true; | 63 | this.dirtyFlag = true; |
57 | } | 64 | } |
58 | get | 65 | get |
diff --git a/OpenSim.RegionServer/world/World.cs b/OpenSim.RegionServer/world/World.cs index 0291467..b0392a6 100644 --- a/OpenSim.RegionServer/world/World.cs +++ b/OpenSim.RegionServer/world/World.cs | |||
@@ -41,7 +41,7 @@ namespace OpenSim.world | |||
41 | private string m_regionName; | 41 | private string m_regionName; |
42 | private InventoryCache _inventoryCache; | 42 | private InventoryCache _inventoryCache; |
43 | private AssetCache _assetCache; | 43 | private AssetCache _assetCache; |
44 | private int updateLock; | 44 | private Object updateLock; |
45 | 45 | ||
46 | /// <summary> | 46 | /// <summary> |
47 | /// Creates a new World class, and a region to go with it. | 47 | /// Creates a new World class, and a region to go with it. |
@@ -53,7 +53,7 @@ namespace OpenSim.world | |||
53 | { | 53 | { |
54 | try | 54 | try |
55 | { | 55 | { |
56 | updateLock = 0; | 56 | updateLock = null; |
57 | m_clientThreads = clientThreads; | 57 | m_clientThreads = clientThreads; |
58 | m_regionHandle = regionHandle; | 58 | m_regionHandle = regionHandle; |
59 | m_regionName = regionName; | 59 | m_regionName = regionName; |