adium 2177:22c4a5d148b9: Additional debugging stuff for prefs wr...

commits at adium.im commits at adium.im
Wed May 13 20:20:29 UTC 2009


details:	http://hg.adium.im/adium/rev/22c4a5d148b9
revision:	2177:22c4a5d148b9
author:		David Smith <catfish.man at gmail.com>
date:		Wed May 13 13:20:21 2009 -0700

Additional debugging stuff for prefs write failures

diffstat:

 Source/AIPreferenceContainer.m |  12 ++++++++++++
 1 files changed, 12 insertions(+), 0 deletions(-)

diffs (22 lines):

diff -r 2a05cdeae0c5 -r 22c4a5d148b9 Source/AIPreferenceContainer.m
--- a/Source/AIPreferenceContainer.m	Wed May 13 12:53:53 2009 -0700
+++ b/Source/AIPreferenceContainer.m	Wed May 13 13:20:21 2009 -0700
@@ -417,6 +417,18 @@
 - (void)performObjectPrefsSave:(NSTimer *)inTimer
 {
 	NSDictionary *immutablePrefsToWrite = [[[NSDictionary alloc] initWithDictionary:inTimer.userInfo copyItems:YES] autorelease];
+	/* Data verification */
+#ifdef PREFERENCE_CONTAINER_DEBUG
+	{
+		NSData		 *data = [NSData dataWithContentsOfFile:[adium.loginController.userDirectory stringByAppendingPathComponent:[globalPrefsName stringByAppendingPathExtension:@"plist"]]];
+		NSString	 *errorString = nil;
+		NSDictionary *theDict = [NSPropertyListSerialization propertyListFromData:data 
+																 mutabilityOption:NSPropertyListMutableContainers 
+																		   format:NULL 
+																 errorDescription:&errorString];
+		NSAssert(!theDict || [theDict count] == 0 || [immutablePrefsToWrite count] > 0, @"Writing out an empty ByObjectPrefs when we have an existing non-empty one!");
+	}
+#endif
 #warning figure this out
 	if ([immutablePrefsToWrite count] > 0) {
 		[immutablePrefsToWrite asyncWriteToPath:adium.loginController.userDirectory withName:globalPrefsName];




More information about the commits mailing list