diff options
Diffstat (limited to 'OpenSim/Region')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Types/UpdateQueue.cs | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Types/UpdateQueue.cs b/OpenSim/Region/Framework/Scenes/Types/UpdateQueue.cs index 21cda09..213e954 100644 --- a/OpenSim/Region/Framework/Scenes/Types/UpdateQueue.cs +++ b/OpenSim/Region/Framework/Scenes/Types/UpdateQueue.cs | |||
@@ -38,7 +38,7 @@ namespace OpenSim.Region.Framework.Scenes.Types | |||
38 | { | 38 | { |
39 | private Queue<SceneObjectPart> m_queue; | 39 | private Queue<SceneObjectPart> m_queue; |
40 | 40 | ||
41 | private List<UUID> m_ids; | 41 | private Dictionary<UUID, bool> m_ids; |
42 | 42 | ||
43 | private object m_syncObject = new object(); | 43 | private object m_syncObject = new object(); |
44 | 44 | ||
@@ -50,7 +50,7 @@ namespace OpenSim.Region.Framework.Scenes.Types | |||
50 | public UpdateQueue() | 50 | public UpdateQueue() |
51 | { | 51 | { |
52 | m_queue = new Queue<SceneObjectPart>(); | 52 | m_queue = new Queue<SceneObjectPart>(); |
53 | m_ids = new List<UUID>(); | 53 | m_ids = new Dictionary<UUID, bool>(); |
54 | } | 54 | } |
55 | 55 | ||
56 | public void Clear() | 56 | public void Clear() |
@@ -66,9 +66,8 @@ namespace OpenSim.Region.Framework.Scenes.Types | |||
66 | { | 66 | { |
67 | lock (m_syncObject) | 67 | lock (m_syncObject) |
68 | { | 68 | { |
69 | if (!m_ids.Contains(part.UUID)) | 69 | if (!m_ids.ContainsKey(part.UUID)) { |
70 | { | 70 | m_ids.Add(part.UUID, true); |
71 | m_ids.Add(part.UUID); | ||
72 | m_queue.Enqueue(part); | 71 | m_queue.Enqueue(part); |
73 | } | 72 | } |
74 | } | 73 | } |