Browse Source

Fix edge case in multi-image replacing

Joe Rogers 3 years ago
parent
commit
7da6bd905a
1 changed files with 5 additions and 5 deletions
  1. 5 5
      MediaBrowser.Providers/Manager/ItemImageProvider.cs

+ 5 - 5
MediaBrowser.Providers/Manager/ItemImageProvider.cs

@@ -342,12 +342,12 @@ namespace MediaBrowser.Providers.Manager
                 }
                 }
 
 
                 minWidth = savedOptions.GetMinWidth(ImageType.Backdrop);
                 minWidth = savedOptions.GetMinWidth(ImageType.Backdrop);
-                await DownloadMultiImages(item, ImageType.Backdrop, backdropLimit, provider, result, list, minWidth, cancellationToken).ConfigureAwait(false);
+                await DownloadMultiImages(item, ImageType.Backdrop, refreshOptions, backdropLimit, provider, result, list, minWidth, cancellationToken).ConfigureAwait(false);
 
 
                 if (item is IHasScreenshots)
                 if (item is IHasScreenshots)
                 {
                 {
                     minWidth = savedOptions.GetMinWidth(ImageType.Screenshot);
                     minWidth = savedOptions.GetMinWidth(ImageType.Screenshot);
-                    await DownloadMultiImages(item, ImageType.Screenshot, screenshotLimit, provider, result, list, minWidth, cancellationToken).ConfigureAwait(false);
+                    await DownloadMultiImages(item, ImageType.Screenshot, refreshOptions, screenshotLimit, provider, result, list, minWidth, cancellationToken).ConfigureAwait(false);
                 }
                 }
             }
             }
             catch (OperationCanceledException)
             catch (OperationCanceledException)
@@ -586,7 +586,7 @@ namespace MediaBrowser.Providers.Manager
                 newIndex);
                 newIndex);
         }
         }
 
 
-        private async Task DownloadMultiImages(BaseItem item, ImageType imageType, int limit, IRemoteImageProvider provider, RefreshResult result, IEnumerable<RemoteImageInfo> images, int minWidth, CancellationToken cancellationToken)
+        private async Task DownloadMultiImages(BaseItem item, ImageType imageType, ImageRefreshOptions refreshOptions, int limit, IRemoteImageProvider provider, RefreshResult result, IEnumerable<RemoteImageInfo> images, int minWidth, CancellationToken cancellationToken)
         {
         {
             foreach (var image in images.Where(i => i.Type == imageType))
             foreach (var image in images.Where(i => i.Type == imageType))
             {
             {
@@ -626,8 +626,8 @@ namespace MediaBrowser.Providers.Manager
                         break;
                         break;
                     }
                     }
 
 
-                    // If there's already an image of the same file size, skip it
-                    if (response.Content.Headers.ContentLength.HasValue)
+                    // If there's already an image of the same file size, skip it unless doing a full refresh
+                    if (response.Content.Headers.ContentLength.HasValue && !refreshOptions.IsReplacingImage(imageType))
                     {
                     {
                         try
                         try
                         {
                         {