]> granicus.if.org Git - handbrake/commitdiff
- fix issue:
authorkonablend <kona8lend@gmail.com>
Fri, 21 Sep 2012 18:45:29 +0000 (18:45 +0000)
committerkonablend <kona8lend@gmail.com>
Fri, 21 Sep 2012 18:45:29 +0000 (18:45 +0000)
    abort() called
    *** Terminating app due to uncaught exception 'NSInvalidArgumentException'
    reason: '*** -blueComponent not defined for the NSColor NSCustomColorSpace Generic RGB colorspace 0.5 0.5 0.5 1; need to first convert colorspace.'
- remove superfluous color conversions; according to NSGradient docs, any needed colorspace conversions of params are automatic
- use [NSColor colorWithAlphaComponent] to force alpha
- change [NSColor colorWithSRGBRed] to [NSColor colorWithDeviceRed] for 10.6 API compatibilty
- [cosmetic] rename parm withEndColor -> endColor
- [leak] release NSGradient

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

macosx/Controller.m
macosx/DockTextField.h
macosx/DockTextField.m

index f2b383fb0709439d261186177aef91780ec5a1f4..324d9ae4abb3fb1124aadfe39ddcb67bdb179233 100644 (file)
@@ -107,11 +107,11 @@ static NSString *        ChooseSourceIdentifier             = @"Choose Source It
     /* We can move the specific values out from here by subclassing NSDockTile and package everything in here */
     /* If colors are to be chosen once and for all, we can also remove the instantiation with numerical values */
     percentField = [[DockTextField alloc] initWithFrame:NSMakeRect(0.0f, 32.0f, [dockTile size].width, 30.0f)];
-    [percentField changeGradientColors:[NSColor colorWithSRGBRed:0.4f green:0.6f blue:0.4f alpha:1.0f] withEndColor:[NSColor colorWithSRGBRed:0.2f green:0.4f blue:0.2f alpha:1.0f]];
+    [percentField changeGradientColors:[NSColor colorWithDeviceRed:0.4f green:0.6f blue:0.4f alpha:1.0f] endColor:[NSColor colorWithDeviceRed:0.2f green:0.4f blue:0.2f alpha:1.0f]];
     [iv addSubview:percentField];
     
     timeField = [[DockTextField alloc] initWithFrame:NSMakeRect(0.0f, 0.0f, [dockTile size].width, 30.0f)];
-    [timeField changeGradientColors:[NSColor colorWithSRGBRed:0.6f green:0.4f blue:0.4f alpha:1.0f] withEndColor:[NSColor colorWithSRGBRed:0.4f green:0.2f blue:0.2f alpha:1.0f]];
+    [timeField changeGradientColors:[NSColor colorWithDeviceRed:0.6f green:0.4f blue:0.4f alpha:1.0f] endColor:[NSColor colorWithDeviceRed:0.4f green:0.2f blue:0.2f alpha:1.0f]];
     [iv addSubview:timeField];
     
     [self updateDockIcon:-1.0 withETA:@""];
@@ -119,7 +119,6 @@ static NSString *        ChooseSourceIdentifier             = @"Choose Source It
     return self;
 }
 
-
 - (void) applicationDidFinishLaunching: (NSNotification *) notification
 {
     /* Init libhb with check for updates libhb style set to "0" so its ignored and lets sparkle take care of it */
index a269211c73e65c788e33bcecadfcc7eef1b097d9..593855b6b5683af93def90641782e21f8cf9facf 100644 (file)
@@ -12,6 +12,6 @@
 @property (nonatomic,retain) NSColor *startColor;
 @property (nonatomic,retain) NSColor *endColor;
 
-- (void)changeGradientColors:(NSColor*)startColor withEndColor:(NSColor*)endColor;
+- (void)changeGradientColors:(NSColor*)startColor endColor:(NSColor*)endColor;
 
 @end
index 0b71d632f331af00af4b6ab71a81b6785d0fb39e..408b7da0bc10d94b5d686165f4e36a62797ee125 100644 (file)
     if (self) {
         [[self cell] setBezelStyle: NSTextFieldRoundedBezel];
         _textToDisplay = @"";
-        
-        [self changeGradientColors:[NSColor grayColor] withEndColor:[NSColor blackColor]];
+        [self changeGradientColors:[NSColor grayColor] endColor:[NSColor blackColor]];
     }
     
     return self;
 }
 
-- (void)changeGradientColors:(NSColor*)startColor withEndColor:(NSColor*)endColor
+- (void)changeGradientColors:(NSColor*)startColor endColor:(NSColor*)endColor
 {
-    NSColor *startRGBColor = [startColor colorUsingColorSpace:[NSColorSpace genericRGBColorSpace]];
-    NSColor *endRGBColor = [endColor colorUsingColorSpace:[NSColorSpace genericRGBColorSpace]];
-    
-    self.startColor = [NSColor colorWithSRGBRed:startRGBColor.redComponent green:startRGBColor.greenComponent blue:startRGBColor.blueComponent alpha:DOCK_TEXTFIELD_ALPHA];
-    self.endColor = [NSColor colorWithSRGBRed:endRGBColor.redComponent green:endRGBColor.greenComponent blue:endRGBColor.blueComponent alpha:DOCK_TEXTFIELD_ALPHA];
+    self.startColor = [startColor colorWithAlphaComponent:DOCK_TEXTFIELD_ALPHA];
+    self.endColor = [endColor colorWithAlphaComponent:DOCK_TEXTFIELD_ALPHA];
 }
 
 - (void)drawRect:(NSRect)dirtyRect
     
     NSRect blackOutlineFrame = NSMakeRect(0.0, 0.0, [self bounds].size.width, [self bounds].size.height-1.0);
     double radius = self.bounds.size.height / 2;
-    
+
     NSGradient *gradient = [[NSGradient alloc] initWithStartingColor:self.startColor endingColor:self.endColor];
     [gradient drawInBezierPath:[NSBezierPath bezierPathWithRoundedRect:blackOutlineFrame xRadius:radius yRadius:radius] angle:90];
+    [gradient release];
     
     NSMutableDictionary *drawStringAttributes = [[NSMutableDictionary alloc] init];
        [drawStringAttributes setValue:[NSColor whiteColor] forKey:NSForegroundColorAttributeName];