adium 4970:934acd721831: Add shortcuts for boolean properties ba...
commits at adium.im
commits at adium.im
Wed Aug 8 14:24:14 UTC 2012
details: http://hg.adium.im/adium/rev/934acd721831
revision: 4970:934acd721831
branch: (none)
author: Thijs Alkemade <thijsalkemade at gmail.com>
date: Wed Aug 08 16:21:21 2012 +0200
Add shortcuts for boolean properties back to ESObjectWithProperties, thanks to Catfish_Man.
This should help speed up things like sorting the contact list.
Subject: adium 4971:d899ccda08c8: Merged adium-1.6 into default.
details: http://hg.adium.im/adium/rev/d899ccda08c8
revision: 4971:d899ccda08c8
branch: (none)
author: Thijs Alkemade <thijsalkemade at gmail.com>
date: Wed Aug 08 16:24:04 2012 +0200
Merged adium-1.6 into default.
diffs (447 lines):
diff -r 5dbed3571369 -r d899ccda08c8 ChangeLogs/Changes.txt
--- a/ChangeLogs/Changes.txt Tue Aug 07 13:05:53 2012 -0500
+++ b/ChangeLogs/Changes.txt Wed Aug 08 16:24:04 2012 +0200
@@ -1,11 +1,16 @@
Adium Version History
-----------------------
-Version 1.5.3 (XX/XX/XXXX)
+Version 1.5.3 (8/XX/2012)
+ * Fixed another problem with the transcript viewer causing search to fail when closing and reopening the window. (#13586, #15699)
+ * Fixed a problem with iTunes 10.6.3 on Mac OS X 10.6.8 causing the chat window's toolbar to break. (#16046)
+ * Fixed crash at startup that was meant to be fixed in 1.5.2. (#15787)
+ * Fixed a crash when receiving invalid XML on 10.8. (#16095)
+ * Fixed an issue that caused logging in to Facebook to fail when login approvals are enabled. (#15705)
* Icons set for group chat bookmarks will now show up on the tab bar in the chat window. (Andreas Marienborg) (#14484)
- * Fixed another problem with the transcript viewer causing search to fail when closing and reopening the window. (#13586)
- * Fixed an issue that caused logging in to Facebook to fail when login approvals are enabled. (#15705)
- * Fixed a problem with iTunes 10.6.3 on Mac OS X 10.6.8 causing the chat window's toolbar to break. (#16046)
+ * Fixed tables not being declared as such via VoiceOver. (Marco Zehe) (#16085)
* Fixed a problem with emoticons scaling disproportionately in the yMous message style when using OS X 10.8.
+ * Improved memory use slightly.
+
Version 1.5.2 (7/21/2012)
* Fixed an issue where the log indexer would never finish.
diff -r 5dbed3571369 -r d899ccda08c8 Copyright.txt
--- a/Copyright.txt Tue Aug 07 13:05:53 2012 -0500
+++ b/Copyright.txt Wed Aug 08 16:24:04 2012 +0200
@@ -118,6 +118,7 @@
Jay Weatherstone
Robby Weinberg
Ofri Wolfus
+Marco Zehe
Albert Zeyer
If you have contributed to Adium and are not on this list, please contact us.
diff -r 5dbed3571369 -r d899ccda08c8 Frameworks/Adium Framework/Source/AIAccount.h
--- a/Frameworks/Adium Framework/Source/AIAccount.h Tue Aug 07 13:05:53 2012 -0500
+++ b/Frameworks/Adium Framework/Source/AIAccount.h Wed Aug 08 16:24:04 2012 +0200
@@ -186,11 +186,17 @@
NSString *formattedUID;
AIStatus *accountStatus;
+ BOOL isConnecting;
NSDate *waitingToReconnect;
+ BOOL isDisconnecting;
+
+ BOOL isWaitingForNetwork;
NSInteger connectionProgressPercent;
NSString *connectionProgressString;
+ BOOL mustPromptForPasswordOnNextConnect;
+
NSString *currentDisplayName;
}
diff -r 5dbed3571369 -r d899ccda08c8 Frameworks/Adium Framework/Source/AIAuthorizationRequestsWindowController.m
--- a/Frameworks/Adium Framework/Source/AIAuthorizationRequestsWindowController.m Tue Aug 07 13:05:53 2012 -0500
+++ b/Frameworks/Adium Framework/Source/AIAuthorizationRequestsWindowController.m Wed Aug 08 16:24:04 2012 +0200
@@ -108,7 +108,7 @@
object:self.window];
[tableView accessibilitySetOverrideValue:AILocalizedString(@"Authorization Requests", nil)
- forAttribute:NSAccessibilityRoleDescriptionAttribute];
+ forAttribute:NSAccessibilityTitleAttribute];
[tableView selectRowIndexes:[NSIndexSet indexSetWithIndex:0] byExtendingSelection:NO];
[self.window setTitle:AUTHORIZATION_REQUESTS];
diff -r 5dbed3571369 -r d899ccda08c8 Frameworks/Adium Framework/Source/AIChat.h
--- a/Frameworks/Adium Framework/Source/AIChat.h Tue Aug 07 13:05:53 2012 -0500
+++ b/Frameworks/Adium Framework/Source/AIChat.h Wed Aug 08 16:24:04 2012 +0200
@@ -133,6 +133,8 @@
NSDictionary *chatCreationInfo;
+ BOOL accountJoined;
+
NSInteger unviewedMention;
NSInteger unviewedContent;
@@ -142,6 +144,8 @@
NSDictionary *securityDetails;
+ BOOL secureMessagingLastEncryptedState;
+
NSString *topic;
AIListContact *topicSetter;
}
diff -r 5dbed3571369 -r d899ccda08c8 Frameworks/Adium Framework/Source/AIChat.m
--- a/Frameworks/Adium Framework/Source/AIChat.m Tue Aug 07 13:05:53 2012 -0500
+++ b/Frameworks/Adium Framework/Source/AIChat.m Wed Aug 08 16:24:04 2012 +0200
@@ -120,6 +120,7 @@
[chatCreationInfo release]; chatCreationInfo = nil;
[enteredTextTimer release]; enteredTextTimer = nil;
[securityDetails release]; securityDetails = nil;
+ [lastMessageDate release]; lastMessageDate = nil;
[super dealloc];
}
diff -r 5dbed3571369 -r d899ccda08c8 Frameworks/Adium Framework/Source/AIListContact.h
--- a/Frameworks/Adium Framework/Source/AIListContact.h Tue Aug 07 13:05:53 2012 -0500
+++ b/Frameworks/Adium Framework/Source/AIListContact.h Wed Aug 08 16:24:04 2012 +0200
@@ -34,17 +34,26 @@
NSColor *labelColor;
NSNumber *imageOpacity;
+ BOOL isEvent;
NSString *ABUniqueID;
NSAttributedString *textProfile;
+ BOOL isBlocked;
+ BOOL isIdle;
NSInteger idle;
NSDate *idleSince;
NSString *idleReadable;
+ BOOL notAStranger;
+ BOOL isMobile;
+
NSString *serverDisplayName;
NSString *formattedUID;
+
+ BOOL signedOff;
+ BOOL signedOn;
}
- (id)initWithUID:(NSString *)inUID account:(AIAccount *)inAccount service:(AIService *)inService;
diff -r 5dbed3571369 -r d899ccda08c8 Frameworks/Adium Framework/Source/AIListObject.h
--- a/Frameworks/Adium Framework/Source/AIListObject.h Tue Aug 07 13:05:53 2012 -0500
+++ b/Frameworks/Adium Framework/Source/AIListObject.h Wed Aug 08 16:24:04 2012 +0200
@@ -102,6 +102,9 @@
NSImage *listStateIcon;
NSImage *listStatusIcon;
+ BOOL isOnline;
+ BOOL alwaysVisible;
+
NSInteger unviewedContent;
NSInteger unviewedMention;
diff -r 5dbed3571369 -r d899ccda08c8 Frameworks/Adium Framework/Source/ESObjectWithProperties.m
--- a/Frameworks/Adium Framework/Source/ESObjectWithProperties.m Tue Aug 07 13:05:53 2012 -0500
+++ b/Frameworks/Adium Framework/Source/ESObjectWithProperties.m Wed Aug 08 16:24:04 2012 +0200
@@ -79,8 +79,14 @@
}
[self willChangeValueForKey:key];
-
- Ivar ivar = class_getInstanceVariable([self class], [key UTF8String]);
+
+ char property_name[256];
+
+ NSAssert([key length] < 256, @"Too long property!");
+
+ [key getCString:property_name maxLength:32 encoding:NSUTF8StringEncoding];
+
+ Ivar ivar = class_getInstanceVariable([self class], property_name);
// fall back to the dictionary
if (ivar == NULL) {
@@ -107,16 +113,16 @@
} else if (strcmp(ivarType, @encode(NSInteger)) == 0) {
- NSInteger iValue;
+ NSInteger *idx = (NSInteger*)((char *)self + ivar_getOffset(ivar));
+ NSInteger iValue = [value integerValue];
- if (value) {
- iValue = [value integerValue];
- } else {
- iValue = 0;
- }
+ *idx = iValue;
+ } else if (strcmp(ivarType, @encode(BOOL)) == 0) {
- object_setIvar(self, ivar, (void *)iValue);
+ BOOL *idx = (BOOL*)((char *)self + ivar_getOffset(ivar));
+ BOOL iValue = [value boolValue];
+ *idx = iValue;
}
}
@@ -202,7 +208,13 @@
id ret = nil;
id value = nil;
- Ivar ivar = object_getInstanceVariable(self, [key UTF8String], (void **)&value);
+ char property_name[256];
+
+ NSAssert([key length] < 256, @"Too long property!");
+
+ [key getCString:property_name maxLength:32 encoding:NSUTF8StringEncoding];
+
+ Ivar ivar = object_getInstanceVariable(self, property_name, (void **)&value);
if (ivar == NULL) {
@@ -218,6 +230,9 @@
// attempt to wrap it, if we know how
if (strcmp(ivarType, @encode(NSInteger)) == 0) {
ret = [[[NSNumber alloc] initWithInteger:(NSInteger)value] autorelease];
+ } else if (strcmp(ivarType, @encode(BOOL)) == 0) {
+ BOOL *idx = (BOOL*)((char *)self + ivar_getOffset(ivar));
+ ret = [NSNumber numberWithBool:*idx];
} else if (ivarType[0] != _C_ID) {
AILogWithSignature(@" *** This ivar is not an object but an %s! Should not use -valueForProperty: @\"%@\" ***", ivarType, key);
} else {
@@ -237,7 +252,13 @@
{
NSInteger ret = 0;
- Ivar ivar = class_getInstanceVariable([self class], [key UTF8String]);
+ char property_name[256];
+
+ NSAssert([key length] < 256, @"Too long property!");
+
+ [key getCString:property_name maxLength:32 encoding:NSUTF8StringEncoding];
+
+ Ivar ivar = class_getInstanceVariable([self class], property_name);
if (ivar == NULL) {
NSNumber *number = [self numberValueForProperty:key];
@@ -270,8 +291,27 @@
{
BOOL ret = FALSE;
- NSNumber *number = [self numberValueForProperty:key];
- ret = number ? [number boolValue] : NO;
+ char property_name[256];
+
+ NSAssert([key length] < 256, @"Too long property!");
+
+ [key getCString:property_name maxLength:32 encoding:NSUTF8StringEncoding];
+
+ Ivar ivar = class_getInstanceVariable([self class], property_name);
+
+ if (ivar == NULL) {
+ NSNumber *number = [self numberValueForProperty:key];
+ ret = number ? [number boolValue] : NO;
+ } else {
+ const char *ivarType = ivar_getTypeEncoding(ivar);
+
+ if (strcmp(ivarType, @encode(BOOL)) != 0) {
+ AILogWithSignature(@"%@'s %@ ivar is not a BOOL but an %s! Will attempt to cast, but should not use -boolValueForProperty: @\"%@\"", self, key, ivarType, key);
+ }
+
+ BOOL *idx = (BOOL*)((char *)self + ivar_getOffset(ivar));
+ ret = (NSInteger)(*idx);
+ }
return ret;
}
diff -r 5dbed3571369 -r d899ccda08c8 Frameworks/libglib.framework/Versions/2.0.0/libglib
Binary file Frameworks/libglib.framework/Versions/2.0.0/libglib has changed
diff -r 5dbed3571369 -r d899ccda08c8 Frameworks/libgmodule.framework/Versions/2.0.0/libgmodule
Binary file Frameworks/libgmodule.framework/Versions/2.0.0/libgmodule has changed
diff -r 5dbed3571369 -r d899ccda08c8 Frameworks/libgobject.framework/Versions/2.0.0/libgobject
Binary file Frameworks/libgobject.framework/Versions/2.0.0/libgobject has changed
diff -r 5dbed3571369 -r d899ccda08c8 Frameworks/libgthread.framework/Versions/2.0.0/libgthread
Binary file Frameworks/libgthread.framework/Versions/2.0.0/libgthread has changed
diff -r 5dbed3571369 -r d899ccda08c8 Frameworks/libintl.framework/Versions/8/libintl
Binary file Frameworks/libintl.framework/Versions/8/libintl has changed
diff -r 5dbed3571369 -r d899ccda08c8 Frameworks/libjson-glib.framework/Versions/1.0.0/libjson-glib
Binary file Frameworks/libjson-glib.framework/Versions/1.0.0/libjson-glib has changed
diff -r 5dbed3571369 -r d899ccda08c8 Frameworks/libmeanwhile.framework/Versions/1/libmeanwhile
Binary file Frameworks/libmeanwhile.framework/Versions/1/libmeanwhile has changed
diff -r 5dbed3571369 -r d899ccda08c8 Frameworks/libpurple.framework/Versions/0.10.5/libpurple
Binary file Frameworks/libpurple.framework/Versions/0.10.5/libpurple has changed
diff -r 5dbed3571369 -r d899ccda08c8 Release/Makefile
--- a/Release/Makefile Tue Aug 07 13:05:53 2012 -0500
+++ b/Release/Makefile Wed Aug 08 16:24:04 2012 +0200
@@ -17,7 +17,7 @@
# - make all
###########
-VERSION=1.6hg
+VERSION=1.6
BUILD_IN_DEBUG_MODE?=FALSE
BETA?=TRUE
OFFICIAL_BUILD?=TRUE
@@ -69,9 +69,9 @@
endif
ifeq ($(BUILD_IN_DEBUG_MODE),TRUE)
- BUILDSTYLE=Release-Debug
+ BUILDSTYLE=Release-Debug
else
- BUILDSTYLE=Release
+ BUILDSTYLE=Release
endif
BUILDFLAGS+="BUILDCONFIGURATION=$(BUILDSTYLE)"
@@ -194,10 +194,35 @@
./make-diskimage.sh $(BUILD_DIR)/$(RELEASE_NAME).dmg $(ADIUM_DIR) "Adium $(VERSION)" dmg_adium.scpt $(ART_DIR)
ifeq ($(OFFICIAL_BUILD),TRUE)
- @echo DSA for Sparkle: `ruby sign_update.rb $(BUILD_DIR)/$(RELEASE_NAME_ESCAPED).dmg ~/adium-dsa-sign/dsa_priv.pem`
+ $(eval DSA := $(shell ruby sign_update.rb $(BUILD_DIR)/$(RELEASE_NAME_ESCAPED).dmg ~/adium-dsa-sign/dsa_priv.pem))
+ @echo DSA for Sparkle: $(DSA)
endif
- @echo Build finished. `md5 $(BUILD_DIR)/$(RELEASE_NAME_ESCAPED).dmg`
+ $(eval MDFIVEHASH := $(shell md5 -q $(BUILD_DIR)/$(RELEASE_NAME_ESCAPED).dmg))
+ @echo Build finished. $(MDFIVEHASH)
+
+ifeq ($(OFFICIAL_BUILD),TRUE)
+ifeq ($(BETA),TRUE)
+ @echo Add this to beta/index.php:
+ @echo " array("
+ @echo " \"ver\" => \"$(VERSION)\","
+ @echo " \"rev\" => \"`hg parent --template {node\|short}`\","
+ @echo " \"date\" => \"`date +"%Y-%m-%d"`\","
+ @echo " \"md5\" => \"$(MDFIVEHASH)\","
+ @echo " \"dsa\" => \"$(DSA)\""
+ @echo " ),"
+
+ @echo
+ @echo Add this to sparkle/appcast-beta.xml:
+ @echo " <item>"
+ @echo " <title>Adium $(VERSION)</title>"
+ @echo " <pubDate>`date +"%a, %d %b %Y %H:%M:%S %z"`</pubDate>"
+ @echo " <sparkle:releaseNotesLink>http://beta.adium.im/?notemplate</sparkle:releaseNotesLink>"
+ @echo " <sparkle:minimumSystemVersion>10.6.8</sparkle:minimumSystemVersion>"
+ @echo " <enclosure sparkle:dsaSignature=\"$(DSA)\" sparkle:version=\"$(VERSION)\" url=\"http://download.adium.im/Adium_$(VERSION).dmg\" length=\"`stat -f %z $(BUILD_DIR)/$(RELEASE_NAME_ESCAPED).dmg`\" type=\"application/octet-stream\"/>"
+ @echo " </item>"
+endif
+endif
#This is what nightly builds use. Does not update because buildbot does.
nightly: version clean compile createfolder prepare-release-bundle diskimage
diff -r 5dbed3571369 -r d899ccda08c8 Resources/Credits.rtf
--- a/Resources/Credits.rtf Tue Aug 07 13:05:53 2012 -0500
+++ b/Resources/Credits.rtf Wed Aug 08 16:24:04 2012 +0200
@@ -46,18 +46,12 @@
Colin Barrett\
Frank Dowsett\
Adrian Godoroja\
- Stephen Holt\
Peter Hosey\
-\pard\tx440\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardeftab720\li100\slleading40\sb40
-\cf0 Alan Humpherys\
-\pard\tx440\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li100\slleading40\sb40
-\cf0 Matthew Needham\
+ Matthew Needham\
\pard\tx440\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li100\slleading40\sb40
\fs24 \cf0
-\fs22 Nicholas Peshek\
- Patrick Steinhardt\
- Robby Weinberg
+\fs22 Nicholas Peshek
\fs24 \
\pard\tx440\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li100
\cf0 \
@@ -76,6 +70,7 @@
Kyle Jorgensen
\fs20 (Adium 1.4 help updates)
\fs22 \
+ Shawn Khan\
George Lambrou
\fs20 (Interface Icons)
\fs22 \
@@ -360,6 +355,10 @@
Elliott Harris\
\pard\tx440\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardeftab720\li100\slleading40\sb40
\cf0 Arno Hautala\
+\pard\tx440\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li100\slleading40\sb40
+\cf0 Stephen Holt\
+\pard\tx440\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardeftab720\li100\slleading40\sb40
+\cf0 Alan Humpherys\
Ian Krieg\
Scott Lamb\
Keith Lea\
@@ -371,7 +370,10 @@
\fs22 Andreas Monitzer\
\pard\tx440\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardeftab720\li100\slleading40\sb40
\cf0 Chris Serino\
- David Smith
+ David Smith\
+\pard\tx440\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li100\slleading40\sb40
+\cf0 Patrick Steinhardt\
+ Robby Weinberg
\fs24 \
\pard\tx440\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardeftab720\li100
\cf0 \
diff -r 5dbed3571369 -r d899ccda08c8 Source/AIAccountListPreferences.m
--- a/Source/AIAccountListPreferences.m Tue Aug 07 13:05:53 2012 -0500
+++ b/Source/AIAccountListPreferences.m Wed Aug 08 16:24:04 2012 +0200
@@ -141,7 +141,7 @@
object:nil];
[tableView_accountList accessibilitySetOverrideValue:AILocalizedString(@"Accounts", nil)
- forAttribute:NSAccessibilityRoleDescriptionAttribute];
+ forAttribute:NSAccessibilityTitleAttribute];
// Start updating the reconnect time if an account is already reconnecting.
[self updateReconnectTime:nil];
diff -r 5dbed3571369 -r d899ccda08c8 Source/AIGradientView.m
--- a/Source/AIGradientView.m Tue Aug 07 13:05:53 2012 -0500
+++ b/Source/AIGradientView.m Wed Aug 08 16:24:04 2012 +0200
@@ -41,10 +41,10 @@
- (void)dealloc
{
- startingColor = nil;
- middleColor = nil;
- endingColor = nil;
- backgroundColor = nil;
+ [startingColor release]; startingColor = nil;
+ [middleColor release]; middleColor = nil;
+ [endingColor release]; endingColor = nil;
+ [backgroundColor release]; backgroundColor = nil;
[super dealloc];
}
diff -r 5dbed3571369 -r d899ccda08c8 Source/AILogViewerWindowController.m
--- a/Source/AILogViewerWindowController.m Tue Aug 07 13:05:53 2012 -0500
+++ b/Source/AILogViewerWindowController.m Wed Aug 08 16:24:04 2012 +0200
@@ -416,9 +416,9 @@
[textField_resultCount setStringValue:@""];
[tableView_results accessibilitySetOverrideValue:AILocalizedString(@"Transcripts", nil)
- forAttribute:NSAccessibilityRoleDescriptionAttribute];
+ forAttribute:NSAccessibilityTitleAttribute];
[outlineView_contacts accessibilitySetOverrideValue:AILocalizedString(@"Contacts", nil)
- forAttribute:NSAccessibilityRoleDescriptionAttribute];
+ forAttribute:NSAccessibilityTitleAttribute];
//Set emoticon filtering
showEmoticons = [[adium.preferenceController preferenceForKey:KEY_LOG_VIEWER_EMOTICONS
diff -r 5dbed3571369 -r d899ccda08c8 Source/ESStatusPreferences.m
--- a/Source/ESStatusPreferences.m Tue Aug 07 13:05:53 2012 -0500
+++ b/Source/ESStatusPreferences.m Wed Aug 08 16:24:04 2012 +0200
@@ -120,7 +120,7 @@
[outlineView_stateList setUsesAlternatingRowBackgroundColors:YES];
[outlineView_stateList accessibilitySetOverrideValue:AILocalizedString(@"Statuses", nil)
- forAttribute:NSAccessibilityRoleDescriptionAttribute];
+ forAttribute:NSAccessibilityTitleAttribute];
/* Register as an observer of state array changes so we can refresh our list
* in response to changes. */
More information about the commits
mailing list