From e56b2c69018a33b3a8b2e20f9535841ba2ee7752 Mon Sep 17 00:00:00 2001 From: Adam Fedor Date: Fri, 26 Apr 2002 03:12:50 +0000 Subject: [PATCH] removed bunches of duplicate calls, retains and releases. git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/apps/projectcenter/trunk@13543 72102866-910b-0410-8b05-ffd578937521 --- PCAppProj/ChangeLog | 5 +++++ PCAppProj/PCAppProject.m | 1 - PCBundleProj/ChangeLog | 5 +++++ PCBundleProj/PCBundleProject.m | 1 - PCGormProj/ChangeLog | 5 +++++ PCGormProj/PCGormProject.m | 1 - PCLib/ChangeLog | 7 ++++--- PCLib/GNUmakefile | 15 ++++++++------- PCLib/PCBrowserController.m | 4 +--- PCLib/PCHistoryController.m | 10 ++++++---- PCLib/PCProject.m | 9 ++++----- PCLib/PCProjectManager.m | 19 +++++++++++-------- PCLibProj/ChangeLog | 5 +++++ PCLibProj/PCLibProject.m | 1 - PCToolProj/ChangeLog | 5 +++++ PCToolProj/PCToolProject.m | 1 - 16 files changed, 59 insertions(+), 35 deletions(-) diff --git a/PCAppProj/ChangeLog b/PCAppProj/ChangeLog index c6826df..26e2eda 100644 --- a/PCAppProj/ChangeLog +++ b/PCAppProj/ChangeLog @@ -1,3 +1,8 @@ +2002-04-25 Adam Fedor + + * PCAppProject.m ([PCAppProject -init]): Remove call to _iniUI - + already in [PCProject -init]. + 2002-03-01 14:30 probert * PCAppProject.m: Removed old include statements. diff --git a/PCAppProj/PCAppProject.m b/PCAppProj/PCAppProject.m index efb078a..ca7f264 100644 --- a/PCAppProj/PCAppProject.m +++ b/PCAppProj/PCAppProject.m @@ -136,7 +136,6 @@ PCClasses,@"Classes", nil] retain]; - [self _initUI]; } return self; } diff --git a/PCBundleProj/ChangeLog b/PCBundleProj/ChangeLog index 8ac0598..2ce2475 100644 --- a/PCBundleProj/ChangeLog +++ b/PCBundleProj/ChangeLog @@ -1,3 +1,8 @@ +2002-04-25 Adam Fedor + + * PCBundleProject.m (-init): Remove call to _iniUI - + already in [PCProject -init]. + 2002-03-01 15:22 probert * PCBundleProj.m: Fix to avoid warning diff --git a/PCBundleProj/PCBundleProject.m b/PCBundleProj/PCBundleProject.m index e4e31b1..fc57822 100644 --- a/PCBundleProj/PCBundleProject.m +++ b/PCBundleProj/PCBundleProject.m @@ -95,7 +95,6 @@ PCClasses,@"Classes", nil] retain]; - [self _initUI]; } return self; } diff --git a/PCGormProj/ChangeLog b/PCGormProj/ChangeLog index 2ef5ce4..e7ac61c 100644 --- a/PCGormProj/ChangeLog +++ b/PCGormProj/ChangeLog @@ -1,3 +1,8 @@ +2002-04-25 Adam Fedor + + * PCGormProject.m (-init): Remove call to _iniUI - + already in [PCProject -init]. + 2002-03-01 15:38 probert * GNUmakefile, PCGormMakefileFactory.h, PCGormMakefileFactory.m, diff --git a/PCGormProj/PCGormProject.m b/PCGormProj/PCGormProject.m index 1c50629..8c9f469 100644 --- a/PCGormProj/PCGormProject.m +++ b/PCGormProj/PCGormProject.m @@ -133,7 +133,6 @@ PCClasses,@"Classes", nil] retain]; - [self _initUI]; } return self; } diff --git a/PCLib/ChangeLog b/PCLib/ChangeLog index 6045b3a..07ba4e1 100644 --- a/PCLib/ChangeLog +++ b/PCLib/ChangeLog @@ -1,8 +1,9 @@ 2002-04-25 Adam Fedor - * PCHistoryController.m (-setBrowser:): ASSIGN browser - (-dealloc): Release it. - * PCBrowserController.m: Idem. + * PCHistoryController.m (-click:): Don't send notification. + + * PCProject.m: Don't retain or release projectManger. + (-dealloc): Don't release window (releasedWhenClosed). 2002-03-03 14:47 probert diff --git a/PCLib/GNUmakefile b/PCLib/GNUmakefile index 2d65674..53c532d 100644 --- a/PCLib/GNUmakefile +++ b/PCLib/GNUmakefile @@ -10,11 +10,14 @@ include $(GNUSTEP_MAKEFILES)/common.make include Version -# + +# # Subprojects # + + # # Library # @@ -24,20 +27,20 @@ LIBRARY_VAR=PROJECTCENTER LIBRARY_NAME=libProjectCenter libProjectCenter_HEADER_FILES_DIR=. libProjectCenter_HEADER_FILES_INSTALL_DIR=/ProjectCenter +ADDITIONAL_INCLUDE_DIRS = -I.. +srcdir = . GNUSTEP_INSTALLATION_DIR=$(GNUSTEP_SYSTEM_ROOT) PROJECTCENTER_INSTALLATION_DIR=$(GNUSTEP_INSTALLATION_DIR) PROJECTCENTER_INSTALL_PREFIX=$(GNUSTEP_INSTALLATION_DIR) -ADDITIONAL_INCLUDE_DIRS = -I.. -srcdir = . -# + +# # Additional libraries # libProjectCenter_LIBRARIES_DEPEND_UPON += -lgnustep-gui # - # Header files # @@ -73,7 +76,6 @@ PCHistoryController.h \ PCMakefileFactory.h # - # Class files # @@ -99,7 +101,6 @@ PCHistoryController.m \ PCMakefileFactory.m # - # C files # diff --git a/PCLib/PCBrowserController.m b/PCLib/PCBrowserController.m index 411f91c..1fb8531 100644 --- a/PCLib/PCBrowserController.m +++ b/PCLib/PCBrowserController.m @@ -34,8 +34,6 @@ { [[NSNotificationCenter defaultCenter] removeObserver:self]; - RELEASE(browser); - [super dealloc]; } @@ -122,7 +120,7 @@ - (void)setBrowser:(NSBrowser *)aBrowser { - ASSIGN(browser, aBrowser); + browser = aBrowser; [browser setTitled:NO]; diff --git a/PCLib/PCHistoryController.m b/PCLib/PCHistoryController.m index 36e252f..588640a 100644 --- a/PCLib/PCHistoryController.m +++ b/PCLib/PCHistoryController.m @@ -30,7 +30,6 @@ { [[NSNotificationCenter defaultCenter] removeObserver:self]; - RELEASE(browser); RELEASE(editedFiles); [super dealloc]; @@ -42,8 +41,11 @@ [project browserDidClickFile:file category:nil]; - [[NSNotificationCenter defaultCenter] postNotificationName:@"FileBecomesEditedNotification" object:file]; - //[browser selectRow:0 inColumn:0]; + /* This causes a problem because we try to reloadColumn on the browser + in the middle of someone clicking in it (-click: sends notification + which is received by histortDidChange:, etc. Is there a better + way around this? */ + //[[NSNotificationCenter defaultCenter] postNotificationName:@"FileBecomesEditedNotification" object:file]; AUTORELEASE(file); } @@ -52,7 +54,7 @@ { NSAssert(browser==nil,@"The browser is already set!"); - ASSIGN(browser, aBrowser); + browser = aBrowser; [browser setTitled:NO]; diff --git a/PCLib/PCProject.m b/PCLib/PCProject.m index 29f436d..45e6833 100644 --- a/PCLib/PCProject.m +++ b/PCLib/PCProject.m @@ -465,7 +465,6 @@ RELEASE(projectName); RELEASE(projectPath); RELEASE(projectDict); - RELEASE(projectManager); if( projectBuilder) RELEASE(projectBuilder); if( projectDebugger) RELEASE(projectDebugger); @@ -473,7 +472,6 @@ RELEASE(historyController); RELEASE(browserController); - RELEASE(projectWindow); RELEASE(buildTargetPanel); RELEASE(buildTargetHostField); @@ -585,8 +583,9 @@ - (void)setProjectBuilder:(id)aBuilder { - AUTORELEASE(projectManager); - projectManager = RETAIN(aBuilder); + // This is our owner, don't retain. + //projectManager = aBuilder; + ASSIGN(projectManager, aBuilder); } - (id)projectBuilder @@ -1074,7 +1073,7 @@ keys = [origin allKeys]; enumerator = [keys objectEnumerator]; - while( key = [enumerator nextObject] ) + while( (key = [enumerator nextObject]) ) { if( [aDict objectForKey:key] == nil ) { diff --git a/PCLib/PCProjectManager.m b/PCLib/PCProjectManager.m index 2e8ed4d..09d6907 100644 --- a/PCLib/PCProjectManager.m +++ b/PCLib/PCProjectManager.m @@ -242,7 +242,7 @@ NSString *ActiveProjectDidChangeNotification = @"ActiveProjectDidChange"; BOOL ret; PCProject *project; - while ( key = [enumerator nextObject] ) + while ( (key = [enumerator nextObject]) ) { project = [loadedProjects objectForKey:key]; ret = [project save]; @@ -364,7 +364,7 @@ NSString *ActiveProjectDidChangeNotification = @"ActiveProjectDidChange"; BOOL ret; if (![self activeProject]) { - return; + return NO; } // Save all files that need to be saved @@ -382,6 +382,7 @@ NSString *ActiveProjectDidChangeNotification = @"ActiveProjectDidChange"; @"Couldn't save project %@!", @"OK",nil,nil,[activeProject projectName]); } + return YES; } - (BOOL)saveProjectAs:(NSString *)projName @@ -468,23 +469,25 @@ NSString *ActiveProjectDidChangeNotification = @"ActiveProjectDidChange"; key = [path stringByAppendingPathComponent:projectName]; key = [key stringByAppendingPathExtension:@"pcproj"]; - currentProject = RETAIN( [loadedProjects objectForKey:key] ); - + currentProject = RETAIN([loadedProjects objectForKey:key]); if( !currentProject ) { return; } - // Remove it from the loaded projects! + // Remove it from the loaded projects! This is the only place it + // is retained, so it should dealloc after this. [loadedProjects removeObjectForKey:key]; - [self setActiveProject:[[loadedProjects allValues] lastObject]]; + if ([loadedProjects count] == 0) + [self setActiveProject: nil]; + else if (currentProject == [self activeProject]) + [self setActiveProject:[[loadedProjects allValues] lastObject]]; if ([loadedProjects count] == 0) { [inspector performClose:self]; } - - AUTORELEASE( currentProject ); + RELEASE(currentProject); } - (void)closeProject diff --git a/PCLibProj/ChangeLog b/PCLibProj/ChangeLog index db063f9..b5ba563 100644 --- a/PCLibProj/ChangeLog +++ b/PCLibProj/ChangeLog @@ -1,3 +1,8 @@ +2002-04-25 Adam Fedor + + * PCToolProject.m (-init): Remove call to _iniUI - + already in [PCProject -init]. + 2002-03-03 16:31 probert * PCLibProject.m: Forgot to include the Version file - fixed. diff --git a/PCLibProj/PCLibProject.m b/PCLibProj/PCLibProject.m index eaf97aa..3766b30 100644 --- a/PCLibProj/PCLibProject.m +++ b/PCLibProj/PCLibProject.m @@ -63,7 +63,6 @@ PCClasses,@"Classes", nil] retain]; - [self _initUI]; } return self; } diff --git a/PCToolProj/ChangeLog b/PCToolProj/ChangeLog index 272b777..f9486a5 100644 --- a/PCToolProj/ChangeLog +++ b/PCToolProj/ChangeLog @@ -1,3 +1,8 @@ +2002-04-25 Adam Fedor + + * PCToolProject.m (-init): Remove call to _iniUI - + already in [PCProject -init]. + 2002-03-01 16:32 probert * GNUmakefile, PCToolMakefileFactory.h, PCToolMakefileFactory.m, diff --git a/PCToolProj/PCToolProject.m b/PCToolProj/PCToolProject.m index abb436e..571bb56 100644 --- a/PCToolProj/PCToolProject.m +++ b/PCToolProj/PCToolProject.m @@ -64,7 +64,6 @@ PCClasses,@"Classes", nil] retain]; - [self _initUI]; } return self; }