]> git.sesse.net Git - vlc/commitdiff
macosx: fix rare crash in VLCTimeField
authorDavid Fuhrmann <dfuhrmann@videolan.org>
Mon, 2 Mar 2015 21:45:03 +0000 (22:45 +0100)
committerDavid Fuhrmann <dfuhrmann@videolan.org>
Mon, 2 Mar 2015 22:13:20 +0000 (23:13 +0100)
initWithFrame: is not always the designated initializer, thus the
object got improperly initialized. Use default initialization and
simplify code.

modules/gui/macosx/misc.h
modules/gui/macosx/misc.m

index a84437a963f23637b15a89257f11314faba4f05e..bbad86122b68fdc1c7a7298db88591216ab599bc 100644 (file)
 }
 @property (readonly) BOOL timeRemaining;
 
--(id)initWithFrame:(NSRect)frameRect;
-
 - (void)setRemainingIdentifier:(NSString *)o_string;
 
 @end
index 7e9794f49d97587864a35f3dae5e91158f014b81..9769172172ac0bac094053401d54353a75aea9de 100644 (file)
@@ -731,7 +731,8 @@ void _drawFrameInRect(NSRect frameRect)
  *****************************************************************************/
 
 @implementation VLCTimeField
-+ (void)initialize{
++ (void)initialize
+{
     NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
     NSDictionary *appDefaults = [NSDictionary dictionaryWithObjectsAndKeys:
                                  @"NO", @"DisplayTimeAsTimeRemaining",
@@ -741,16 +742,6 @@ void _drawFrameInRect(NSRect frameRect)
     [defaults registerDefaults:appDefaults];
 }
 
-- (id)initWithFrame:(NSRect)frameRect
-{
-    if (self = [super initWithFrame:frameRect]) {
-        textAlignment = NSCenterTextAlignment;
-        o_remaining_identifier = @"";
-    }
-
-    return self;
-}
-
 - (void)setRemainingIdentifier:(NSString *)o_string
 {
     o_remaining_identifier = o_string;
@@ -793,24 +784,19 @@ void _drawFrameInRect(NSRect frameRect)
         [[[VLCMain sharedInstance] controls] goToSpecificTime: nil];
     else
     {
-        if (![o_remaining_identifier isEqualToString: @""]) {
-            if ([[NSUserDefaults standardUserDefaults] boolForKey:o_remaining_identifier]) {
-                [[NSUserDefaults standardUserDefaults] setObject:@"NO" forKey:o_remaining_identifier];
-                b_time_remaining = NO;
-            } else {
-                [[NSUserDefaults standardUserDefaults] setObject:@"YES" forKey:o_remaining_identifier];
-                b_time_remaining = YES;
-            }
-        } else {
+        if (o_remaining_identifier) {
+            b_time_remaining = [[NSUserDefaults standardUserDefaults] boolForKey:o_remaining_identifier];
             b_time_remaining = !b_time_remaining;
             [[NSUserDefaults standardUserDefaults] setObject:(b_time_remaining ? @"YES" : @"NO") forKey:o_remaining_identifier];
+        } else {
+            b_time_remaining = !b_time_remaining;
         }
     }
 }
 
 - (BOOL)timeRemaining
 {
-    if (![o_remaining_identifier isEqualToString: @""])
+    if (o_remaining_identifier)
         return [[NSUserDefaults standardUserDefaults] boolForKey:o_remaining_identifier];
     else
         return b_time_remaining;