summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDamiano Galassi <[email protected]>2015-09-29 19:23:23 +0200
committerDamiano Galassi <[email protected]>2015-09-29 19:23:23 +0200
commit3a0453a7b705b9a15941eafb2997bbd18b00cfc7 (patch)
treec3f4d26275a19d092963a71af1a9b5801f63497b
parent291243c3fcd34282a700b059995c27a993b12e71 (diff)
MacGui: read the actual preview count so we don't try to load a non existing image
-rw-r--r--macosx/HBCore.h5
-rw-r--r--macosx/HBCore.m5
-rw-r--r--macosx/HBPreviewController.m5
-rw-r--r--macosx/HBPreviewGenerator.m2
4 files changed, 16 insertions, 1 deletions
diff --git a/macosx/HBCore.h b/macosx/HBCore.h
index 1d7a4e279..c8817b220 100644
--- a/macosx/HBCore.h
+++ b/macosx/HBCore.h
@@ -137,6 +137,11 @@ typedef void (^HBCoreCompletionHandler)(BOOL success);
deinterlace:(BOOL)deinterlace CF_RETURNS_RETAINED;
/**
+ * Returns the counts of the available previews images.
+ */
+- (NSUInteger)imagesCountForTitle:(HBTitle *)title;
+
+/**
* Initiates an asynchronous encode operation and returns immediately.
*
* @param job the job to encode
diff --git a/macosx/HBCore.m b/macosx/HBCore.m
index 13344f8b7..7acbf3490 100644
--- a/macosx/HBCore.m
+++ b/macosx/HBCore.m
@@ -331,6 +331,11 @@ static void hb_error_handler(const char *errmsg)
return img;
}
+- (NSUInteger)imagesCountForTitle:(HBTitle *)title
+{
+ return title.hb_title->preview_count;
+}
+
#pragma mark - Encodes
- (void)encodeJob:(HBJob *)job progressHandler:(HBCoreProgressHandler)progressHandler completionHandler:(HBCoreCompletionHandler)completionHandler;
diff --git a/macosx/HBPreviewController.m b/macosx/HBPreviewController.m
index 7449c342d..9be3bae5b 100644
--- a/macosx/HBPreviewController.m
+++ b/macosx/HBPreviewController.m
@@ -231,6 +231,11 @@ typedef enum ViewMode : NSUInteger {
[fPictureSlider setMaxValue: generator.imagesCount - 1.0];
[fPictureSlider setNumberOfTickMarks: generator.imagesCount];
+ if (self.pictureIndex > generator.imagesCount)
+ {
+ self.pictureIndex = generator.imagesCount - 1;
+ }
+
[self switchViewToMode:ViewModePicturePreview];
[self displayPreview];
}
diff --git a/macosx/HBPreviewGenerator.m b/macosx/HBPreviewGenerator.m
index 60db556f9..cd7cfd690 100644
--- a/macosx/HBPreviewGenerator.m
+++ b/macosx/HBPreviewGenerator.m
@@ -42,7 +42,7 @@
// Limit the cache to 60 1080p previews, the cost is in pixels
_picturePreviews.totalCostLimit = 60 * 1920 * 1080;
- _imagesCount = [[[NSUserDefaults standardUserDefaults] objectForKey:@"PreviewsNumber"] intValue];
+ _imagesCount = [_scanCore imagesCountForTitle:self.job.title];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(imagesSettingsDidChange) name:HBPictureChangedNotification object:job.picture];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(imagesSettingsDidChange) name:HBFiltersChangedNotification object:job.filters];