# HG changeset patch # User koda # Date 1305235771 -7200 # Node ID 878e551f0b4a21eaf8901c3a9c9e5e85e3f21fe3 # Parent 4c9ae0f484dadef5031c45fa7f69c62e5434b274 all together now! releaseAndNil ftw diff -r 4c9ae0f484da -r 878e551f0b4a project_files/HedgewarsMobile/Classes/AboutViewController.m --- a/project_files/HedgewarsMobile/Classes/AboutViewController.m Thu May 12 23:00:26 2011 +0200 +++ b/project_files/HedgewarsMobile/Classes/AboutViewController.m Thu May 12 23:29:31 2011 +0200 @@ -136,9 +136,9 @@ } -(void) dealloc { - [tableView release]; - [segmentedControl release]; - [people release]; + releaseAndNil(tableView); + releaseAndNil(segmentedControl); + releaseAndNil(people); [super dealloc]; } diff -r 4c9ae0f484da -r 878e551f0b4a project_files/HedgewarsMobile/Classes/AmmoMenuViewController.m --- a/project_files/HedgewarsMobile/Classes/AmmoMenuViewController.m Thu May 12 23:00:26 2011 +0200 +++ b/project_files/HedgewarsMobile/Classes/AmmoMenuViewController.m Thu May 12 23:29:31 2011 +0200 @@ -387,11 +387,11 @@ } -(void) dealloc { - [nameLabel release]; - [extraLabel release]; - [captionLabel release]; - [imagesArray release]; - [buttonsArray release]; + releaseAndNil(nameLabel); + releaseAndNil(extraLabel); + releaseAndNil(captionLabel); + releaseAndNil(imagesArray); + releaseAndNil(buttonsArray); [super dealloc]; } diff -r 4c9ae0f484da -r 878e551f0b4a project_files/HedgewarsMobile/Classes/CommodityFunctions.h --- a/project_files/HedgewarsMobile/Classes/CommodityFunctions.h Thu May 12 23:00:26 2011 +0200 +++ b/project_files/HedgewarsMobile/Classes/CommodityFunctions.h Thu May 12 23:29:31 2011 +0200 @@ -62,7 +62,6 @@ #define IS_NOT_VERY_POWERFUL(x) ([x hasPrefix:@"iPad1"] || [x hasPrefix:@"iPhone2"] || [x hasPrefix:@"iPod3"] || [x hasPrefix:@"iPod4"]) #define IS_VERY_POWERFUL(x) (IS_NOT_POWERFUL(x) == NO && IS_NOT_VERY_POWERFUL(x) == NO) -#define rotationManager(x) (x == UIInterfaceOrientationLandscapeRight) || (x == UIInterfaceOrientationLandscapeLeft) void print_free_memory (void); void playSound (NSString *snd); diff -r 4c9ae0f484da -r 878e551f0b4a project_files/HedgewarsMobile/Classes/FlagsViewController.m --- a/project_files/HedgewarsMobile/Classes/FlagsViewController.m Thu May 12 23:00:26 2011 +0200 +++ b/project_files/HedgewarsMobile/Classes/FlagsViewController.m Thu May 12 23:29:31 2011 +0200 @@ -182,10 +182,10 @@ } -(void) dealloc { - [teamDictionary release]; - [lastIndexPath release]; - [flagArray release]; - [communityArray release]; + releaseAndNil(teamDictionary); + releaseAndNil(lastIndexPath); + releaseAndNil(flagArray); + releaseAndNil(communityArray); [super dealloc]; } diff -r 4c9ae0f484da -r 878e551f0b4a project_files/HedgewarsMobile/Classes/FortsViewController.m --- a/project_files/HedgewarsMobile/Classes/FortsViewController.m Thu May 12 23:00:26 2011 +0200 +++ b/project_files/HedgewarsMobile/Classes/FortsViewController.m Thu May 12 23:29:31 2011 +0200 @@ -149,9 +149,9 @@ -(void) dealloc { - [teamDictionary release]; - [lastIndexPath release]; - [fortArray release]; + releaseAndNil(teamDictionary); + releaseAndNil(lastIndexPath); + releaseAndNil(fortArray); [super dealloc]; } diff -r 4c9ae0f484da -r 878e551f0b4a project_files/HedgewarsMobile/Classes/GameConfigViewController.m --- a/project_files/HedgewarsMobile/Classes/GameConfigViewController.m Thu May 12 23:00:26 2011 +0200 +++ b/project_files/HedgewarsMobile/Classes/GameConfigViewController.m Thu May 12 23:29:31 2011 +0200 @@ -388,11 +388,11 @@ } -(void) dealloc { - [imgContainer release]; - [mapConfigViewController release]; - [teamConfigViewController release]; - [schemeWeaponConfigViewController release]; - [helpPage release]; + releaseAndNil(imgContainer); + releaseAndNil(mapConfigViewController); + releaseAndNil(teamConfigViewController); + releaseAndNil(schemeWeaponConfigViewController); + releaseAndNil(helpPage); [super dealloc]; } diff -r 4c9ae0f484da -r 878e551f0b4a project_files/HedgewarsMobile/Classes/GravesViewController.m --- a/project_files/HedgewarsMobile/Classes/GravesViewController.m Thu May 12 23:00:26 2011 +0200 +++ b/project_files/HedgewarsMobile/Classes/GravesViewController.m Thu May 12 23:29:31 2011 +0200 @@ -131,9 +131,9 @@ } -(void) dealloc { - [graveArray release]; - [teamDictionary release]; - [lastIndexPath release]; + releaseAndNil(graveArray); + releaseAndNil(teamDictionary); + releaseAndNil(lastIndexPath); [super dealloc]; } diff -r 4c9ae0f484da -r 878e551f0b4a project_files/HedgewarsMobile/Classes/HelpPageViewController.m --- a/project_files/HedgewarsMobile/Classes/HelpPageViewController.m Thu May 12 23:00:26 2011 +0200 +++ b/project_files/HedgewarsMobile/Classes/HelpPageViewController.m Thu May 12 23:29:31 2011 +0200 @@ -53,7 +53,7 @@ } -(void) dealloc { - [scrollView release]; + releaseAndNil(scrollView); [super dealloc]; } diff -r 4c9ae0f484da -r 878e551f0b4a project_files/HedgewarsMobile/Classes/HogHatViewController.m --- a/project_files/HedgewarsMobile/Classes/HogHatViewController.m Thu May 12 23:00:26 2011 +0200 +++ b/project_files/HedgewarsMobile/Classes/HogHatViewController.m Thu May 12 23:29:31 2011 +0200 @@ -150,10 +150,10 @@ } -(void) dealloc { - [hatArray release]; - [teamDictionary release]; - [normalHogSprite release]; - [lastIndexPath release]; + releaseAndNil(hatArray); + releaseAndNil(teamDictionary); + releaseAndNil(normalHogSprite); + releaseAndNil(lastIndexPath); [super dealloc]; } diff -r 4c9ae0f484da -r 878e551f0b4a project_files/HedgewarsMobile/Classes/InGameMenuViewController.m --- a/project_files/HedgewarsMobile/Classes/InGameMenuViewController.m Thu May 12 23:00:26 2011 +0200 +++ b/project_files/HedgewarsMobile/Classes/InGameMenuViewController.m Thu May 12 23:29:31 2011 +0200 @@ -61,7 +61,7 @@ } -(void) dealloc { - [menuList release]; + releaseAndNil(menuList); [super dealloc]; } diff -r 4c9ae0f484da -r 878e551f0b4a project_files/HedgewarsMobile/Classes/LevelViewController.m --- a/project_files/HedgewarsMobile/Classes/LevelViewController.m Thu May 12 23:00:26 2011 +0200 +++ b/project_files/HedgewarsMobile/Classes/LevelViewController.m Thu May 12 23:29:31 2011 +0200 @@ -13,7 +13,7 @@ * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 0211-1307, USA. * * File created on 02/04/2010. */ @@ -200,10 +200,10 @@ } -(void) dealloc { - [levelArray release]; - [levelSprites release]; - [teamDictionary release]; - [lastIndexPath release]; + releaseAndNil(levelArray); + releaseAndNil(levelSprites); + releaseAndNil(teamDictionary); + releaseAndNil(lastIndexPath); [super dealloc]; } diff -r 4c9ae0f484da -r 878e551f0b4a project_files/HedgewarsMobile/Classes/MainMenuViewController.m --- a/project_files/HedgewarsMobile/Classes/MainMenuViewController.m Thu May 12 23:00:26 2011 +0200 +++ b/project_files/HedgewarsMobile/Classes/MainMenuViewController.m Thu May 12 23:29:31 2011 +0200 @@ -239,10 +239,10 @@ } -(void) dealloc { - [settingsViewController release]; - [gameConfigViewController release]; - [aboutViewController release]; - [savedGamesViewController release]; + releaseAndNil(settingsViewController); + releaseAndNil(gameConfigViewController); + releaseAndNil(aboutViewController); + releaseAndNil(savedGamesViewController); [super dealloc]; } diff -r 4c9ae0f484da -r 878e551f0b4a project_files/HedgewarsMobile/Classes/MapConfigViewController.m --- a/project_files/HedgewarsMobile/Classes/MapConfigViewController.m Thu May 12 23:00:26 2011 +0200 +++ b/project_files/HedgewarsMobile/Classes/MapConfigViewController.m Thu May 12 23:29:31 2011 +0200 @@ -507,23 +507,23 @@ } -(void) dealloc { - [seedCommand release]; - [templateFilterCommand release]; - [mapGenCommand release]; - [mazeSizeCommand release]; - [themeCommand release]; - [staticMapCommand release]; - [missionCommand release]; + releaseAndNil(seedCommand); + releaseAndNil(templateFilterCommand); + releaseAndNil(mapGenCommand); + releaseAndNil(mazeSizeCommand); + releaseAndNil(themeCommand); + releaseAndNil(staticMapCommand); + releaseAndNil(missionCommand); - [previewButton release]; - [tableView release]; - [maxLabel release]; - [sizeLabel release]; - [segmentedControl release]; - [slider release]; + releaseAndNil(previewButton); + releaseAndNil(tableView); + releaseAndNil(maxLabel); + releaseAndNil(sizeLabel); + releaseAndNil(segmentedControl); + releaseAndNil(slider); - [lastIndexPath release]; - [dataSourceArray release]; + releaseAndNil(lastIndexPath); + releaseAndNil(dataSourceArray); [super dealloc]; } diff -r 4c9ae0f484da -r 878e551f0b4a project_files/HedgewarsMobile/Classes/MasterViewController.m --- a/project_files/HedgewarsMobile/Classes/MasterViewController.m Thu May 12 23:00:26 2011 +0200 +++ b/project_files/HedgewarsMobile/Classes/MasterViewController.m Thu May 12 23:29:31 2011 +0200 @@ -205,14 +205,14 @@ } -(void) dealloc { - targetController = nil; - [controllerNames release]; - [lastIndexPath release]; - [generalSettingsViewController release]; - [teamSettingsViewController release]; - [weaponSettingsViewController release]; - [schemeSettingsViewController release]; - [supportViewController release]; + self.targetController = nil; + releaseAndNil(controllerNames); + releaseAndNil(lastIndexPath); + releaseAndNil(generalSettingsViewController); + releaseAndNil(teamSettingsViewController); + releaseAndNil(weaponSettingsViewController); + releaseAndNil(schemeSettingsViewController); + releaseAndNil(supportViewController); [super dealloc]; } diff -r 4c9ae0f484da -r 878e551f0b4a project_files/HedgewarsMobile/Classes/OverlayViewController.m --- a/project_files/HedgewarsMobile/Classes/OverlayViewController.m Thu May 12 23:00:26 2011 +0200 +++ b/project_files/HedgewarsMobile/Classes/OverlayViewController.m Thu May 12 23:29:31 2011 +0200 @@ -204,14 +204,14 @@ } -(void) dealloc { - [popupMenu release]; - [helpPage release]; - [popoverController release]; - [amvc release]; - [lowerIndicator release]; - [savesIndicator release]; - [confirmButton release]; - [grenadeTimeSegment release]; + releaseAndNil(popupMenu); + releaseAndNil(helpPage); + releaseAndNil(popoverController); + releaseAndNil(amvc); + releaseAndNil(lowerIndicator); + releaseAndNil(savesIndicator); + releaseAndNil(confirmButton); + releaseAndNil(grenadeTimeSegment); // dimTimer is autoreleased [super dealloc]; } diff -r 4c9ae0f484da -r 878e551f0b4a project_files/HedgewarsMobile/Classes/SavedGamesViewController.m --- a/project_files/HedgewarsMobile/Classes/SavedGamesViewController.m Thu May 12 23:00:26 2011 +0200 +++ b/project_files/HedgewarsMobile/Classes/SavedGamesViewController.m Thu May 12 23:29:31 2011 +0200 @@ -250,8 +250,8 @@ } -(void) dealloc { - [tableView release]; - [listOfSavegames release]; + releaseAndNil(tableView); + releaseAndNil(listOfSavegames); [super dealloc]; } diff -r 4c9ae0f484da -r 878e551f0b4a project_files/HedgewarsMobile/Classes/SchemeSettingsViewController.m --- a/project_files/HedgewarsMobile/Classes/SchemeSettingsViewController.m Thu May 12 23:00:26 2011 +0200 +++ b/project_files/HedgewarsMobile/Classes/SchemeSettingsViewController.m Thu May 12 23:29:31 2011 +0200 @@ -165,8 +165,8 @@ -(void) dealloc { - [listOfSchemes release]; - [childController release]; + releaseAndNil(listOfSchemes); + releaseAndNil(childController); [super dealloc]; } diff -r 4c9ae0f484da -r 878e551f0b4a project_files/HedgewarsMobile/Classes/SchemeWeaponConfigViewController.m --- a/project_files/HedgewarsMobile/Classes/SchemeWeaponConfigViewController.m Thu May 12 23:00:26 2011 +0200 +++ b/project_files/HedgewarsMobile/Classes/SchemeWeaponConfigViewController.m Thu May 12 23:29:31 2011 +0200 @@ -286,13 +286,13 @@ -(void) dealloc { - [listOfSchemes release]; - [listOfWeapons release]; - [lastIndexPath_sc release]; - [lastIndexPath_we release]; - [selectedScheme release]; - [selectedWeapon release]; - [syncSwitch release]; + releaseAndNil(listOfSchemes); + releaseAndNil(listOfWeapons); + releaseAndNil(lastIndexPath_sc); + releaseAndNil(lastIndexPath_we); + releaseAndNil(selectedScheme); + releaseAndNil(selectedWeapon); + releaseAndNil(syncSwitch); [super dealloc]; } diff -r 4c9ae0f484da -r 878e551f0b4a project_files/HedgewarsMobile/Classes/SingleSchemeViewController.m --- a/project_files/HedgewarsMobile/Classes/SingleSchemeViewController.m Thu May 12 23:00:26 2011 +0200 +++ b/project_files/HedgewarsMobile/Classes/SingleSchemeViewController.m Thu May 12 23:29:31 2011 +0200 @@ -345,10 +345,10 @@ } -(void) dealloc { - [schemeName release]; - [schemeDictionary release]; - [basicSettingList release]; - [gameModifierArray release]; + releaseAndNil(schemeName); + releaseAndNil(schemeDictionary); + releaseAndNil(basicSettingList); + releaseAndNil(gameModifierArray); [super dealloc]; } diff -r 4c9ae0f484da -r 878e551f0b4a project_files/HedgewarsMobile/Classes/SingleTeamViewController.m --- a/project_files/HedgewarsMobile/Classes/SingleTeamViewController.m Thu May 12 23:00:26 2011 +0200 +++ b/project_files/HedgewarsMobile/Classes/SingleTeamViewController.m Thu May 12 23:29:31 2011 +0200 @@ -395,17 +395,17 @@ } -(void) dealloc { - [teamDictionary release]; - [teamName release]; - [normalHogSprite release]; - [secondaryItems release]; - [moreSecondaryItems release]; - [hogHatViewController release]; - [gravesViewController release]; - [fortsViewController release]; - [voicesViewController release]; - [flagsViewController release]; - [levelViewController release]; + releaseAndNil(teamDictionary); + releaseAndNil(teamName); + releaseAndNil(normalHogSprite); + releaseAndNil(secondaryItems); + releaseAndNil(moreSecondaryItems); + releaseAndNil(hogHatViewController); + releaseAndNil(gravesViewController); + releaseAndNil(fortsViewController); + releaseAndNil(voicesViewController); + releaseAndNil(flagsViewController); + releaseAndNil(levelViewController); [super dealloc]; } diff -r 4c9ae0f484da -r 878e551f0b4a project_files/HedgewarsMobile/Classes/SingleWeaponViewController.m --- a/project_files/HedgewarsMobile/Classes/SingleWeaponViewController.m Thu May 12 23:00:26 2011 +0200 +++ b/project_files/HedgewarsMobile/Classes/SingleWeaponViewController.m Thu May 12 23:29:31 2011 +0200 @@ -262,9 +262,9 @@ -(void) dealloc { - [weaponName release]; - [description release]; - [ammoStoreImage release]; + releaseAndNil(weaponName); + releaseAndNil(description); + releaseAndNil(ammoStoreImage); [super dealloc]; } diff -r 4c9ae0f484da -r 878e551f0b4a project_files/HedgewarsMobile/Classes/SplitViewRootController.m --- a/project_files/HedgewarsMobile/Classes/SplitViewRootController.m Thu May 12 23:00:26 2011 +0200 +++ b/project_files/HedgewarsMobile/Classes/SplitViewRootController.m Thu May 12 23:29:31 2011 +0200 @@ -83,9 +83,9 @@ } -(void) dealloc { - [activeController release]; - [rightNavController release]; - [splitViewRootController release]; + releaseAndNil(activeController); + releaseAndNil(rightNavController); + releaseAndNil(splitViewRootController); [super dealloc]; } diff -r 4c9ae0f484da -r 878e551f0b4a project_files/HedgewarsMobile/Classes/SquareButtonView.m --- a/project_files/HedgewarsMobile/Classes/SquareButtonView.m Thu May 12 23:00:26 2011 +0200 +++ b/project_files/HedgewarsMobile/Classes/SquareButtonView.m Thu May 12 23:29:31 2011 +0200 @@ -77,8 +77,8 @@ } -(void) dealloc { - [ownerDictionary release]; - [colorArray release]; + releaseAndNil(ownerDictionary); + releaseAndNil(colorArray); [super dealloc]; } diff -r 4c9ae0f484da -r 878e551f0b4a project_files/HedgewarsMobile/Classes/StatsPageViewController.m --- a/project_files/HedgewarsMobile/Classes/StatsPageViewController.m Thu May 12 23:00:26 2011 +0200 +++ b/project_files/HedgewarsMobile/Classes/StatsPageViewController.m Thu May 12 23:29:31 2011 +0200 @@ -156,7 +156,7 @@ } -(void) dealloc { - [statsArray release]; + releaseAndNil(statsArray); [super dealloc]; } diff -r 4c9ae0f484da -r 878e551f0b4a project_files/HedgewarsMobile/Classes/SupportViewController.m --- a/project_files/HedgewarsMobile/Classes/SupportViewController.m Thu May 12 23:00:26 2011 +0200 +++ b/project_files/HedgewarsMobile/Classes/SupportViewController.m Thu May 12 23:29:31 2011 +0200 @@ -172,7 +172,7 @@ } -(void) dealloc { - [self.waysToSupport release]; + releaseAndNil(waysToSupport); [super dealloc]; } diff -r 4c9ae0f484da -r 878e551f0b4a project_files/HedgewarsMobile/Classes/TeamConfigViewController.m --- a/project_files/HedgewarsMobile/Classes/TeamConfigViewController.m Thu May 12 23:00:26 2011 +0200 +++ b/project_files/HedgewarsMobile/Classes/TeamConfigViewController.m Thu May 12 23:29:31 2011 +0200 @@ -320,9 +320,9 @@ -(void) dealloc { - [listOfTeams release]; - [listOfSelectedTeams release]; - [cachedContentsOfDir release]; + releaseAndNil(listOfTeams); + releaseAndNil(listOfSelectedTeams); + releaseAndNil(cachedContentsOfDir); [super dealloc]; } diff -r 4c9ae0f484da -r 878e551f0b4a project_files/HedgewarsMobile/Classes/TeamSettingsViewController.m --- a/project_files/HedgewarsMobile/Classes/TeamSettingsViewController.m Thu May 12 23:00:26 2011 +0200 +++ b/project_files/HedgewarsMobile/Classes/TeamSettingsViewController.m Thu May 12 23:29:31 2011 +0200 @@ -171,8 +171,8 @@ } -(void) dealloc { - [self.listOfTeams release]; - [childController release]; + releaseAndNil(listOfTeams); + releaseAndNil(childController); [super dealloc]; } diff -r 4c9ae0f484da -r 878e551f0b4a project_files/HedgewarsMobile/Classes/VoicesViewController.m --- a/project_files/HedgewarsMobile/Classes/VoicesViewController.m Thu May 12 23:00:26 2011 +0200 +++ b/project_files/HedgewarsMobile/Classes/VoicesViewController.m Thu May 12 23:29:31 2011 +0200 @@ -166,9 +166,9 @@ } -(void) dealloc { - [voiceArray release]; - [teamDictionary release]; - [lastIndexPath release]; + releaseAndNil(voiceArray); + releaseAndNil(teamDictionary); + releaseAndNil(lastIndexPath); [super dealloc]; } diff -r 4c9ae0f484da -r 878e551f0b4a project_files/HedgewarsMobile/Classes/WeaponSettingsViewController.m --- a/project_files/HedgewarsMobile/Classes/WeaponSettingsViewController.m Thu May 12 23:00:26 2011 +0200 +++ b/project_files/HedgewarsMobile/Classes/WeaponSettingsViewController.m Thu May 12 23:29:31 2011 +0200 @@ -165,8 +165,8 @@ -(void) dealloc { - [self.listOfWeapons release]; - [childController release]; + releaseAndNil(listOfWeapons); + releaseAndNil(childController); [super dealloc]; } diff -r 4c9ae0f484da -r 878e551f0b4a project_files/HedgewarsMobile/Hedgewars_Prefix.pch --- a/project_files/HedgewarsMobile/Hedgewars_Prefix.pch Thu May 12 23:00:26 2011 +0200 +++ b/project_files/HedgewarsMobile/Hedgewars_Prefix.pch Thu May 12 23:29:31 2011 +0200 @@ -16,6 +16,10 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +// some macros by http://www.cimgf.com/2010/05/02/my-current-prefix-pch-file/ +// and http://blog.coriolis.ch/2009/01/05/macros-for-xcode/ + #ifdef __OBJC__ #import #import @@ -30,26 +34,27 @@ #import "SDL_mixer.h" #endif -// by http://www.cimgf.com/2010/05/02/my-current-prefix-pch-file/ + #ifdef DEBUG #define DLog(...) NSLog(@"%s %@", __PRETTY_FUNCTION__, [NSString stringWithFormat:__VA_ARGS__]) #define ALog(...) [[NSAssertionHandler currentHandler] handleFailureInFunction:[NSString stringWithCString:__PRETTY_FUNCTION__ encoding:NSUTF8StringEncoding] file:[NSString stringWithCString:__FILE__ encoding:NSUTF8StringEncoding] lineNumber:__LINE__ description:__VA_ARGS__] + #define releaseAndNil(x) [x release] #else #define DLog(...) do { } while (0) #ifndef NS_BLOCK_ASSERTIONS #define NS_BLOCK_ASSERTIONS #endif #define ALog(...) NSLog(@"%s %@", __PRETTY_FUNCTION__, [NSString stringWithFormat:__VA_ARGS__]) + #define releaseAndNil(x) [x release], x = nil #endif + #define ZAssert(condition, ...) do { if (!(condition)) { ALog(__VA_ARGS__); }} while(0) +#define rotationManager(x) (x == UIInterfaceOrientationLandscapeRight) || (x == UIInterfaceOrientationLandscapeLeft) -// by http://blog.coriolis.ch/2009/01/05/macros-for-xcode/ #define START_TIMER NSTimeInterval start = [NSDate timeIntervalSinceReferenceDate]; #define END_TIMER(msg) NSTimeInterval stop = [NSDate timeIntervalSinceReferenceDate]; CMLog([NSString stringWithFormat:@"%@ Time = %f", msg, stop-start]); -#define releaseAndNil(x) [x release], x = nil; - #if !__IPHONE_3_2 typedef enum {