Update of /cvsroot/macattrick/macattrick In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26871 Modified Files: MainController.m MainWindowController.m PlayerListsViewController.h PlayerListsViewController.m PlayerTableView.h PositionsController.m Team.m Log Message: memory bug fixed. no more crash after login Index: MainController.m =================================================================== RCS file: /cvsroot/macattrick/macattrick/MainController.m,v retrieving revision 1.19 retrieving revision 1.20 diff -C2 -d -r1.19 -r1.20 *** MainController.m 14 Sep 2005 15:32:06 -0000 1.19 --- MainController.m 24 Sep 2005 11:50:30 -0000 1.20 *************** *** 188,192 **** [self loadTransformers]; mainController = self; - // [self showLoginWindow:self]; if(!mainWindowController) { mainWindowController = [[MainWindowController alloc] initWithWindowNibName:@"MainWindow"]; --- 188,191 ---- *************** *** 197,201 **** [mainWindowController setTeam:team]; } - [team release]; } @end --- 196,199 ---- Index: PositionsController.m =================================================================== RCS file: /cvsroot/macattrick/macattrick/PositionsController.m,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** PositionsController.m 17 Sep 2005 16:22:27 -0000 1.12 --- PositionsController.m 24 Sep 2005 11:50:30 -0000 1.13 *************** *** 42,46 **** [positionsTable setDoubleAction:@selector(doubleClicked)]; [positionsTable setController: self]; - [[Team currentTeam] addObserver: self forKeyPath: @"playerList" options: NSKeyValueObservingOptionNew context:nil]; return self; } --- 42,45 ---- *************** *** 51,54 **** --- 50,62 ---- } + - (void) setTeam: (Team*) newTeam { + if(team) { + [team removeObserver:self forKeyPath:@"playerList"]; + } + [newTeam addObserver: self forKeyPath: @"playerList" options: NSKeyValueObservingOptionNew context:nil]; + [super setTeam: newTeam]; + [positionsTable reloadData]; + } + // observing - (void) observeValueForKeyPath: (NSString*) keyPath ofObject: (id) object change: (NSDictionary*) change context: (void *) context { *************** *** 167,175 **** } ! - (void)setTeam:(Team *)newTeam ! { ! [super setTeam: newTeam]; ! [positionsTable reloadData]; ! } // drag and drop --- 175,179 ---- } ! // drag and drop Index: Team.m =================================================================== RCS file: /cvsroot/macattrick/macattrick/Team.m,v retrieving revision 1.31 retrieving revision 1.32 diff -C2 -d -r1.31 -r1.32 *** Team.m 17 Sep 2005 16:22:27 -0000 1.31 --- Team.m 24 Sep 2005 11:50:30 -0000 1.32 *************** *** 65,69 **** return nil; } ! playerList = [[PlayerList alloc] initFromLocalFile]; [playerList loadFormerPlayerStates]; arena = [[Arena alloc] init]; --- 65,71 ---- return nil; } ! PlayerList *aList = [[PlayerList alloc] initFromLocalFile]; ! [self setAllPlayersList:aList]; ! [self setPlayerList:allPlayersList]; [playerList loadFormerPlayerStates]; arena = [[Arena alloc] init]; *************** *** 75,80 **** [url release]; ! [self setAllPlayersList:playerList]; ! [self loadUserDefinedPlayerLists: [Properties userDefinedPlayerListsFile]]; } --- 77,81 ---- [url release]; ! [self loadUserDefinedPlayerLists: [Properties userDefinedPlayerListsFile]]; } Index: PlayerTableView.h =================================================================== RCS file: /cvsroot/macattrick/macattrick/PlayerTableView.h,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** PlayerTableView.h 17 Sep 2005 14:05:48 -0000 1.2 --- PlayerTableView.h 24 Sep 2005 11:50:30 -0000 1.3 *************** *** 33,36 **** --- 33,37 ---- id controller; } + - (id) controller; - (void) setController: (id) newController; Index: MainWindowController.m =================================================================== RCS file: /cvsroot/macattrick/macattrick/MainWindowController.m,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** MainWindowController.m 18 Sep 2005 14:55:13 -0000 1.10 --- MainWindowController.m 24 Sep 2005 11:50:30 -0000 1.11 *************** *** 34,45 **** @implementation MainWindowController -(void)setTeam: (Team*) newTeam { ! [newTeam retain]; [team release]; ! team = newTeam; [teamInfoController setTeam:team]; [playerTableController setTeam:team]; [positionsController setTeam:team]; [lineUpController setTeam:team]; } --- 34,47 ---- @implementation MainWindowController + -(void)setTeam: (Team*) newTeam { ! [newTeam retain]; [team release]; ! team = newTeam; [teamInfoController setTeam:team]; [playerTableController setTeam:team]; [positionsController setTeam:team]; [lineUpController setTeam:team]; + [playerListsViewController setPlayerLists:[team userDefinedPlayerLists]]; } Index: PlayerListsViewController.m =================================================================== RCS file: /cvsroot/macattrick/macattrick/PlayerListsViewController.m,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** PlayerListsViewController.m 14 Sep 2005 15:32:06 -0000 1.4 --- PlayerListsViewController.m 24 Sep 2005 11:50:30 -0000 1.5 *************** *** 36,40 **** self = [super init]; if(self) { ! // [self setPlayerLists: [[Team currentTeam] userDefinedPlayerLists]]; [NSBundle loadNibNamed:@"PlayerListsView" owner: self]; [tableView registerForDraggedTypes:[NSArray arrayWithObject:NSDragPboard]]; --- 36,40 ---- self = [super init]; if(self) { ! [self setPlayerLists: [[Team currentTeam] userDefinedPlayerLists]]; [NSBundle loadNibNamed:@"PlayerListsView" owner: self]; [tableView registerForDraggedTypes:[NSArray arrayWithObject:NSDragPboard]]; *************** *** 51,57 **** } ! - (NSMutableArray *) playerLists { return [[Team currentTeam] userDefinedPlayerLists]; } - (void) setPlayerLists: (NSMutableArray *) newPlayerLists { ! [[Team currentTeam] setUserDefinedPlayerLists:newPlayerLists]; } --- 51,59 ---- } ! - (NSMutableArray *) playerLists { return playerLists; } - (void) setPlayerLists: (NSMutableArray *) newPlayerLists { ! [newPlayerLists retain]; ! [playerLists release]; ! playerLists = newPlayerLists; } Index: PlayerListsViewController.h =================================================================== RCS file: /cvsroot/macattrick/macattrick/PlayerListsViewController.h,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** PlayerListsViewController.h 14 Sep 2005 16:20:08 -0000 1.3 --- PlayerListsViewController.h 24 Sep 2005 11:50:30 -0000 1.4 *************** *** 30,34 **** @interface PlayerListsViewController : NSObject { ! // NSMutableArray *playerLists; managed by team IBOutlet NSView *playerListsView; IBOutlet NSTableView *tableView; --- 30,34 ---- @interface PlayerListsViewController : NSObject { ! NSMutableArray *playerLists; IBOutlet NSView *playerListsView; IBOutlet NSTableView *tableView; |