adium 2644:e7b5093aa5c1: Add -[NSApplication isOnSnowLeopardOrBe...

commits at adium.im commits at adium.im
Sun Aug 30 14:40:23 UTC 2009


details:	http://hg.adium.im/adium/rev/e7b5093aa5c1
revision:	2644:e7b5093aa5c1
author:		Zachary West <zacw at adium.im>
date:		Sun Aug 30 10:46:57 2009 -0400

Add -[NSApplication isOnSnowLeopardOrBetter] so we can avoid crashing when calling these methods.

diffs (66 lines):

diff -r 9dbfda339f43 -r e7b5093aa5c1 Frameworks/AIUtilities Framework/Source/AIApplicationAdditions.h
--- a/Frameworks/AIUtilities Framework/Source/AIApplicationAdditions.h	Sat Aug 29 20:57:31 2009 -0400
+++ b/Frameworks/AIUtilities Framework/Source/AIApplicationAdditions.h	Sun Aug 30 10:46:57 2009 -0400
@@ -9,5 +9,6 @@
 @interface NSApplication (AIApplicationAdditions)
 
 - (NSString *)applicationVersion;
+- (BOOL)isOnSnowLeopardOrBetter;
 
 @end
diff -r 9dbfda339f43 -r e7b5093aa5c1 Frameworks/AIUtilities Framework/Source/AIApplicationAdditions.m
--- a/Frameworks/AIUtilities Framework/Source/AIApplicationAdditions.m	Sat Aug 29 20:57:31 2009 -0400
+++ b/Frameworks/AIUtilities Framework/Source/AIApplicationAdditions.m	Sun Aug 30 10:46:57 2009 -0400
@@ -14,4 +14,15 @@
 	return [[[NSBundle mainBundle] infoDictionary] objectForKey:(NSString *)kCFBundleVersionKey];
 }
 
+//Make sure the version number defines exist; when compiling in 10.5, NSAppKitVersionNumber10_5 isn't defined 
+#ifndef NSAppKitVersionNumber10_5
+#define NSAppKitVersionNumber10_5 949
+#endif 
+
+- (BOOL)isOnSnowLeopardOrBetter
+{
+	return (floor(NSAppKitVersionNumber) > NSAppKitVersionNumber10_5);
+}
+
+
 @end
diff -r 9dbfda339f43 -r e7b5093aa5c1 Frameworks/Adium Framework/Source/AIMessageEntryTextView.m
--- a/Frameworks/Adium Framework/Source/AIMessageEntryTextView.m	Sat Aug 29 20:57:31 2009 -0400
+++ b/Frameworks/Adium Framework/Source/AIMessageEntryTextView.m	Sun Aug 30 10:46:57 2009 -0400
@@ -410,20 +410,22 @@
 			[self setContinuousSpellCheckingEnabled:[[prefDict objectForKey:KEY_SPELL_CHECKING] boolValue]];
 		}
 		
-		if (!key || [key isEqualToString:KEY_SUBSTITUTION_DASH]) {
-			[self setAutomaticDashSubstitutionEnabled:[[prefDict objectForKey:KEY_SUBSTITUTION_DASH] boolValue]];
-		}
+		if ([NSApp isOnSnowLeopardOrBetter]) {
+			if (!key || [key isEqualToString:KEY_SUBSTITUTION_DASH]) {
+				[self setAutomaticDashSubstitutionEnabled:[[prefDict objectForKey:KEY_SUBSTITUTION_DASH] boolValue]];
+			}
 		
-		if (!key || [key isEqualToString:KEY_SUBSTITUTION_DATA_DETECTORS]) {
-			[self setAutomaticDataDetectionEnabled:[[prefDict objectForKey:KEY_SUBSTITUTION_DATA_DETECTORS] boolValue]];
-		}
+			if (!key || [key isEqualToString:KEY_SUBSTITUTION_DATA_DETECTORS]) {
+				[self setAutomaticDataDetectionEnabled:[[prefDict objectForKey:KEY_SUBSTITUTION_DATA_DETECTORS] boolValue]];
+			}
 		
-		if (!key || [key isEqualToString:KEY_SUBSTITUTION_REPLACEMENT]) {
-			[self setAutomaticTextReplacementEnabled:[[prefDict objectForKey:KEY_SUBSTITUTION_REPLACEMENT] boolValue]];
-		}
+			if (!key || [key isEqualToString:KEY_SUBSTITUTION_REPLACEMENT]) {
+				[self setAutomaticTextReplacementEnabled:[[prefDict objectForKey:KEY_SUBSTITUTION_REPLACEMENT] boolValue]];
+			}
 		
-		if (!key || [key isEqualToString:KEY_SUBSTITUTION_SPELLING]) {
-			[self setAutomaticSpellingCorrectionEnabled:[[prefDict objectForKey:KEY_SUBSTITUTION_SPELLING] boolValue]];
+			if (!key || [key isEqualToString:KEY_SUBSTITUTION_SPELLING]) {
+				[self setAutomaticSpellingCorrectionEnabled:[[prefDict objectForKey:KEY_SUBSTITUTION_SPELLING] boolValue]];
+			}
 		}
 		
 		if (!key || [key isEqualToString:KEY_SUBSTITUTION_COPY_PASTE]) {




More information about the commits mailing list