Changeset 399

Show
Ignore:
Timestamp:
12/15/07 03:28:38 (1 year ago)
Author:
gbooker
Message:

Quick timer audit. Should handle the crash log in #31 (which was reported in a leopard ticket as well even though the crash log was abviously not leopard related, and thus not the right ticket). If this crash log is not from the original poster, please post still.
Fixes #31

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/SapphireAudioPlayer.m

    r201 r399  
    151151- (void)doSkip:(NSTimer *)timer 
    152152{ 
     153        skipTimer = nil; 
    153154        float time = [self elapsedPlaybackTime]; 
    154155        if(skipSpeed < 0) 
     
    202203- (void)updateUI:(NSTimer *)Timer 
    203204{ 
     205        updateTimer = nil; 
    204206        if([self elapsedPlaybackTime] >= [self trackDuration]) 
    205207                [self stop]; 
  • trunk/SapphireMetaData.h

    r391 r399  
    355355         
    356356        SapphireMetaDataCollection      *collection;                    /*!< @brief The root collection (not retained)*/ 
     357        NSTimer                                         *loadTimer;                             /*!< @brief The timer to load this metadata*/ 
    357358} 
    358359 
  • trunk/SapphireMetaData.m

    r393 r399  
    630630- (void)dealloc 
    631631{ 
     632        [loadTimer invalidate]; 
     633        [importTimer invalidate]; 
    632634        [self postAllFilesRemoved]; 
    633635        [importTimer invalidate]; 
     
    11511153{ 
    11521154        [[NSNotificationCenter defaultCenter] postNotificationName:META_DATA_FILE_INFO_STARTED_LOADING object:self]; 
    1153         [NSTimer scheduledTimerWithTimeInterval:0.0 target:self selector:@selector(loadMetaDataTimer:) userInfo:[NSMutableArray arrayWithObject:self] repeats:NO]; 
     1155        [loadTimer invalidate]; 
     1156        loadTimer = [NSTimer scheduledTimerWithTimeInterval:0.0 target:self selector:@selector(loadMetaDataTimer:) userInfo:[NSMutableArray arrayWithObject:self] repeats:NO]; 
    11541157} 
    11551158 
     
    11771180- (void)loadMetaDataTimer:(NSTimer *)timer 
    11781181{ 
     1182        loadTimer = nil; 
    11791183        NSMutableArray *queue = [timer userInfo]; 
    11801184        id nextObj = [[queue objectAtIndex:0] retain]; 
     
    11911195                if([nextObj isKindOfClass:[SapphireDirectoryMetaData class]]) 
    11921196                        nextTarget = nextObj; 
    1193                 [NSTimer scheduledTimerWithTimeInterval:0.0 target:nextTarget selector:@selector(loadMetaDataTimer:) userInfo:queue repeats:NO]; 
     1197                loadTimer = [NSTimer scheduledTimerWithTimeInterval:0.0 target:nextTarget selector:@selector(loadMetaDataTimer:) userInfo:queue repeats:NO]; 
    11941198        } 
    11951199        else 
  • trunk/SapphireMetaDataScanner.h

    r386 r399  
    2222        NSMutableSet                                                    *skipDirectories;       /*!< @brief The directories to skip*/ 
    2323        id <SapphireMetaDataScannerDelegate>    delegate;                       /*!< @brief The delegate to inform about the results*/ 
     24        NSTimer                                                                 *nextFileTimer;         /*!< @brief The timer to get the next file*/ 
    2425} 
    2526 
  • trunk/SapphireMetaDataScanner.m

    r375 r399  
    2525 
    2626- (void) dealloc { 
     27        [nextFileTimer invalidate]; 
    2728        [metaDir release]; 
    2829        [remaining release]; 
     
    5556                results = [NSMutableArray new]; 
    5657        /*Start the scan*/ 
    57         [NSTimer scheduledTimerWithTimeInterval:0.0 target:self selector:@selector(nextFile:) userInfo:nil repeats:NO]; 
     58        nextFileTimer = [NSTimer scheduledTimerWithTimeInterval:0.0 target:self selector:@selector(nextFile:) userInfo:nil repeats:NO]; 
    5859} 
    5960 
     
    8687        [results addObjectsFromArray:subs]; 
    8788        /*Resume*/ 
    88         [NSTimer scheduledTimerWithTimeInterval:0.0 target:self selector:@selector(nextFile:) userInfo:nil repeats:NO]; 
     89        nextFileTimer = [NSTimer scheduledTimerWithTimeInterval:0.0 target:self selector:@selector(nextFile:) userInfo:nil repeats:NO]; 
    8990} 
    9091 
     
    117118- (void)nextFile:(NSTimer *)timer 
    118119{ 
     120        nextFileTimer = nil; 
    119121        /*Check for cancel and completion*/ 
    120122        if(![delegate getSubFilesCanceled] && [remaining count])