From 5d41ebd322426abc8704538a1d83b4adde3edf5d Mon Sep 17 00:00:00 2001 From: Mark McDowall Date: Sat, 31 Jan 2015 21:53:06 -0800 Subject: [PATCH] Fixed: Removing pending items from Queue --- .../Download/Pending/PendingReleaseService.cs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/NzbDrone.Core/Download/Pending/PendingReleaseService.cs b/src/NzbDrone.Core/Download/Pending/PendingReleaseService.cs index e3c42ea57..0945883f8 100644 --- a/src/NzbDrone.Core/Download/Pending/PendingReleaseService.cs +++ b/src/NzbDrone.Core/Download/Pending/PendingReleaseService.cs @@ -102,7 +102,7 @@ namespace NzbDrone.Core.Download.Pending var queue = new Queue.Queue { - Id = HashConverter.GetHashInt31(string.Format("pending-{0}-ep{1}", pendingRelease.Id, episode.Id)), + Id = GetQueueId(pendingRelease, episode), Series = pendingRelease.RemoteEpisode.Series, Episode = episode, Quality = pendingRelease.RemoteEpisode.ParsedEpisodeInfo.Quality, @@ -265,7 +265,12 @@ namespace NzbDrone.Core.Download.Pending private int FindPendingReleaseId(int queueId) { - return GetPendingReleases().First(p => p.RemoteEpisode.Episodes.Any(e => queueId == (e.Id ^ (p.Id << 16)))).Id; + return GetPendingReleases().First(p => p.RemoteEpisode.Episodes.Any(e => queueId == GetQueueId(p, e))).Id; + } + + private int GetQueueId(PendingRelease pendingRelease, Episode episode) + { + return HashConverter.GetHashInt31(String.Format("pending-{0}-ep{1}", pendingRelease.Id, episode.Id)); } public void Handle(SeriesDeletedEvent message)