diff --git a/CHANGELOG.md b/CHANGELOG.md index a010afd..84c54b3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -128,6 +128,10 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Better VC-4 support for IcdConsole - JSON refactoring for simpler deserialization +## [8.7.2] - 2019-10-29 +### Changed + - Fixed a bug with PriorityQueue de-duplication where a new command would be inserted in the wrong position + ## [8.7.1] - 2019-08-22 ### Changed - Fixed a bug with the IcdOrderedDict index setter that was creating additional values diff --git a/ICD.Common.Utils/Collections/PriorityQueue.cs b/ICD.Common.Utils/Collections/PriorityQueue.cs index a772417..2cfa98d 100644 --- a/ICD.Common.Utils/Collections/PriorityQueue.cs +++ b/ICD.Common.Utils/Collections/PriorityQueue.cs @@ -121,8 +121,6 @@ namespace ICD.Common.Utils.Collections if (remove == null) throw new ArgumentNullException("remove"); - bool inserted = false; - foreach (KeyValuePair> kvp in m_PriorityToQueue.ToArray()) { int[] removeIndices = @@ -131,35 +129,17 @@ namespace ICD.Common.Utils.Collections .Reverse() .ToArray(); - if (removeIndices.Length == 0) - continue; - foreach (int removeIndex in removeIndices) { kvp.Value.RemoveAt(removeIndex); m_Count--; } - if (!inserted) - { - int insertIndex = removeIndices[0]; - - if (insertIndex >= kvp.Value.Count) - kvp.Value.Add(item); - else - kvp.Value.Insert(insertIndex, item); - - m_Count++; - - inserted = true; - } - if (kvp.Value.Count == 0) m_PriorityToQueue.Remove(kvp.Key); } - if (!inserted) - Enqueue(item, priority); + Enqueue(item, priority); } ///