From 6541a8d08122dda08cc0b3c956a3f7e1b94789e9 Mon Sep 17 00:00:00 2001 From: Sergii Stoian Date: Mon, 25 Aug 2003 20:13:51 +0000 Subject: [PATCH] PCProjectBuilder.[hm]: stop logging when building/cleaning. Cleanups git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/apps/projectcenter/trunk@17542 72102866-910b-0410-8b05-ffd578937521 --- PCLib/PCProjectBuilder.h | 3 +- PCLib/PCProjectBuilder.m | 121 ++++++++++++++++++-------------------- PCLib/PCProjectDebugger.m | 1 - 3 files changed, 58 insertions(+), 67 deletions(-) diff --git a/PCLib/PCProjectBuilder.h b/PCLib/PCProjectBuilder.h index 3d04359..1019012 100644 --- a/PCLib/PCProjectBuilder.h +++ b/PCLib/PCProjectBuilder.h @@ -87,8 +87,7 @@ - (void) logStdOut: (NSNotification *)aNotif; - (void) logErrOut: (NSNotification *)aNotif; -- (void) buildDidTerminate: (NSNotification *)aNotif; -//- (void) buildDidTerminate: (int)status; +- (void) buildDidTerminate; - (void) copyPackageTo: (NSString *)path; diff --git a/PCLib/PCProjectBuilder.m b/PCLib/PCProjectBuilder.m index 697aa35..29a2a28 100644 --- a/PCLib/PCProjectBuilder.m +++ b/PCLib/PCProjectBuilder.m @@ -571,11 +571,9 @@ // Prepearing to building logPipe = [NSPipe pipe]; -// readHandle = [[logPipe fileHandleForReading] retain]; readHandle = [logPipe fileHandleForReading]; errorPipe = [NSPipe pipe]; -// errorReadHandle = [[errorPipe fileHandleForReading] retain]; errorReadHandle = [errorPipe fileHandleForReading]; [readHandle waitForDataInBackgroundAndNotify]; @@ -607,75 +605,68 @@ toTarget: self withObject: data]; - [NOTIFICATION_CENTER addObserver: self - selector: @selector (buildDidTerminate:) - name: NSTaskDidTerminateNotification - object: makeTask]; - return; } -- (void)buildDidTerminate:(NSNotification *)aNotif +- (void)buildDidTerminate { - int status = [[aNotif object] terminationStatus]; + int status = [makeTask terminationStatus]; - if ([aNotif object] == makeTask) + [NOTIFICATION_CENTER removeObserver: self + name: NSFileHandleDataAvailableNotification + object: readHandle]; + + [NOTIFICATION_CENTER removeObserver: self + name: NSFileHandleDataAvailableNotification + object: errorReadHandle]; + + RELEASE (readHandle); + RELEASE (errorReadHandle); + + if (status == 0) { - [NOTIFICATION_CENTER removeObserver: self - name: NSFileHandleDataAvailableNotification - object: readHandle]; - - [NOTIFICATION_CENTER removeObserver: self - name: NSFileHandleDataAvailableNotification - object: errorReadHandle]; - - [NOTIFICATION_CENTER removeObserver: self - name: NSTaskDidTerminateNotification - object: makeTask]; - // RELEASE (readHandle); - // RELEASE (errorReadHandle); - - if (status == 0) - { - [self logString: - [NSString stringWithFormat: @"=== %@ succeeded!", buildTarget] - error: NO - newLine: NO]; - [buildStatusField setStringValue: [NSString stringWithFormat: @"%@ - %@ succeeded...", [currentProject projectName], buildTarget]]; - } - else - { - [self logString: [NSString stringWithFormat: @"=== %@ terminated!", buildTarget] error: NO newLine: NO]; - [buildStatusField setStringValue: [NSString stringWithFormat: - @"%@ - %@ terminated...", [currentProject projectName], buildTarget]]; - } - - // Rstore buttons state - if ([buildTarget isEqualToString: @"Build"]) - { - [buildButton setState: NSOffState]; - [cleanButton setEnabled:YES]; - [installButton setEnabled:YES]; - } - else if ([buildTarget isEqualToString: @"Clean"]) - { - [cleanButton setState: NSOffState]; - [buildButton setEnabled:YES]; - [installButton setEnabled:YES]; - } - else if ([buildTarget isEqualToString: @"Install"]) - { - [installButton setState: NSOffState]; - [buildButton setEnabled:YES]; - [cleanButton setEnabled:YES]; - } - - [buildArgs removeAllObjects]; - [buildTarget setString: @"Default"]; - - /* RELEASE (makeTask);*/ - makeTask = nil; + [self logString: + [NSString stringWithFormat: @"=== %@ succeeded!", buildTarget] + error: NO newLine: NO]; + [buildStatusField setStringValue: + [NSString stringWithFormat: + @"%@ - %@ succeeded...", [currentProject projectName], buildTarget]]; + } + else + { + [self logString: + [NSString stringWithFormat: @"=== %@ terminated!", buildTarget] + error: NO newLine: NO]; + [buildStatusField setStringValue: + [NSString stringWithFormat: + @"%@ - %@ terminated...", [currentProject projectName], buildTarget]]; } + + // Rstore buttons state + if ([buildTarget isEqualToString: @"Build"]) + { + [buildButton setState: NSOffState]; + [cleanButton setEnabled: YES]; + [installButton setEnabled: YES]; + } + else if ([buildTarget isEqualToString: @"Clean"]) + { + [cleanButton setState: NSOffState]; + [buildButton setEnabled: YES]; + [installButton setEnabled: YES]; + } + else if ([buildTarget isEqualToString: @"Install"]) + { + [installButton setState: NSOffState]; + [buildButton setEnabled: YES]; + [cleanButton setEnabled: YES]; + } + + [buildArgs removeAllObjects]; + [buildTarget setString: @"Default"]; + + RELEASE(makeTask); + makeTask = nil; } - (void)popupChanged:(id)sender @@ -799,6 +790,8 @@ postProcess = NULL; } + [self buildDidTerminate]; + [pool release]; } diff --git a/PCLib/PCProjectDebugger.m b/PCLib/PCProjectDebugger.m index 759d371..ca5576d 100644 --- a/PCLib/PCProjectDebugger.m +++ b/PCLib/PCProjectDebugger.m @@ -341,7 +341,6 @@ enum { * Clean up... * */ - [NOTIFICATION_CENTER removeObserver:self name:NSFileHandleDataAvailableNotification object:readHandle];