]> granicus.if.org Git - handbrake/commitdiff
MacGui: fix crash in PictureController.
authorRodeo <tdskywalker@gmail.com>
Mon, 18 Mar 2013 18:57:25 +0000 (18:57 +0000)
committerRodeo <tdskywalker@gmail.com>
Mon, 18 Mar 2013 18:57:25 +0000 (18:57 +0000)
For some reason, it only crashed in debug builds, but de-referencing fTitle before it's been set (e.g. indirectly from awakeFromNib) is obviously wrong.

git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5341 b64f7644-9d1e-0410-96f1-a4d463321fa5

macosx/PictureController.m

index b15cd9b8c53a343c2db6ad03d2b7599ebf6b87b4..d767625581a1661739839e5929c9f0e51e5e863f 100644 (file)
     [fCropRightStepper  setIntValue: job->crop[3]];
     [fCropRightField    setIntValue: job->crop[3]];
     
-    //[fPreviewController SetTitle:fTitle];
-    
-    /* Sanity Check Here for < 16 px preview to avoid
-     crashing hb_get_preview. In fact, just for kicks
-     lets getting previews at a min limit of 32, since
-     no human can see any meaningful detail below that */
+    /*
+     * Sanity-check here for previews < 16 pixels to avoid crashing
+     * hb_get_preview(). In fact, let's get previews at least 64 pixels in both
+     * dimensions; no human can see any meaningful detail below that.
+     */
     if (job->width >= 64 && job->height >= 64)
     {
         [self reloadStillPreview];
 }
 
 - (void)reloadStillPreview
-{ 
-   hb_job_t * job = fTitle->job; 
-   
-   [fPreviewController SetTitle:fTitle];
-    
+{
+    /* XXX: make sure we actually have a title before de-referencing it */
+    if (fTitle != NULL)
+    {
+        hb_job_t *job = fTitle->job;
+        [fPreviewController SetTitle:fTitle];
+    }
 }
 
 
@@ -1229,6 +1230,12 @@ are maintained across different sources */
 
 - (void) decombDeinterlacePreviewImage
 {
+    /* XXX: make sure we actually have a title before de-referencing it */
+    if (fTitle == NULL)
+    {
+        return;
+    }
+    
     if ([fDecombDeinterlaceSlider floatValue] < 0.50)
     {
         /* Since Libhb only shows a deinterlaced preview image via deinterlace .. for decomb we
@@ -1259,8 +1266,6 @@ are maintained across different sources */
         fTitle->job->deinterlace  = [fDeinterlacePopUp indexOfSelectedItem];
         [self reloadStillPreview];
     }
-    
-    
 }
 #pragma mark -