adium 5997:d88e6711d0e0: Fixed a triple handful of warnings

commits at adium.im commits at adium.im
Fri Nov 15 00:47:03 UTC 2019


details:	http://hg.adium.im/adium/rev/d88e6711d0e0
revision:	5997:d88e6711d0e0
branch:		adium-1.5.10.5
author:		Evan Schoenberg
date:		Thu Nov 14 16:22:42 2019 -0500

Fixed a triple handful of warnings
Subject: adium 5998:c1c33c0ba53a: Corrected image rep casting, fixing several warnings

details:	http://hg.adium.im/adium/rev/c1c33c0ba53a
revision:	5998:c1c33c0ba53a
branch:		adium-1.5.10.5
author:		Evan Schoenberg
date:		Thu Nov 14 16:23:07 2019 -0500

Corrected image rep casting, fixing several warnings
Subject: adium 5999:91f7da2a2338: Fixed an error compiling on Xcode 11.2.1 (and perhaps elsewhere).  method_invoke needs to be cast to the signature of the original method.

details:	http://hg.adium.im/adium/rev/91f7da2a2338
revision:	5999:91f7da2a2338
branch:		adium-1.5.10.5
author:		Evan Schoenberg
date:		Thu Nov 14 16:24:17 2019 -0500

Fixed an error compiling on Xcode 11.2.1 (and perhaps elsewhere).  method_invoke needs to be cast to the signature of the original method.
Subject: adium 6000:5d5fbad486b2: Use $(PRODUCT_BUNDLE_IDENTIFIER) to make the identifier automatically match what's entered in xcode, fixing a per-target warning in current Xcode

details:	http://hg.adium.im/adium/rev/5d5fbad486b2
revision:	6000:5d5fbad486b2
branch:		adium-1.5.10.5
author:		Evan Schoenberg
date:		Thu Nov 14 16:25:18 2019 -0500

Use $(PRODUCT_BUNDLE_IDENTIFIER) to make the identifier automatically match what's entered in xcode, fixing a per-target warning in current Xcode
Subject: adium 6001:f668f615d613: One more instance needing $(PRODUCT_BUNDLE_IDENTIFIER)

details:	http://hg.adium.im/adium/rev/f668f615d613
revision:	6001:f668f615d613
branch:		adium-1.5.10.5
author:		Evan Schoenberg
date:		Thu Nov 14 16:25:50 2019 -0500

One more instance needing $(PRODUCT_BUNDLE_IDENTIFIER)
Subject: adium 6002:66aac3254a5d: Project updates for xcode 11.2.1

details:	http://hg.adium.im/adium/rev/66aac3254a5d
revision:	6002:66aac3254a5d
branch:		adium-1.5.10.5
author:		Evan Schoenberg
date:		Thu Nov 14 16:26:13 2019 -0500

Project updates for xcode 11.2.1
Subject: adium 6003:6e8c6761ee0d: Fixed a few more warnings

details:	http://hg.adium.im/adium/rev/6e8c6761ee0d
revision:	6003:6e8c6761ee0d
branch:		adium-1.5.10.5
author:		Evan Schoenberg
date:		Thu Nov 14 18:10:18 2019 -0500

Fixed a few more warnings
Subject: adium 6004:78f15a50a998: Update this xib to a modern version that xcode can compile.

details:	http://hg.adium.im/adium/rev/78f15a50a998
revision:	6004:78f15a50a998
branch:		adium-1.5.10.5
author:		Evan Schoenberg
date:		Thu Nov 14 18:12:42 2019 -0500

Update this xib to a modern version that xcode can compile.
Subject: adium 6005:26c3002a50ed: Make OTR version match reality

details:	http://hg.adium.im/adium/rev/26c3002a50ed
revision:	6005:26c3002a50ed
branch:		adium-1.5.10.5
author:		Evan Schoenberg
date:		Thu Nov 14 18:14:36 2019 -0500

Make OTR version match reality
Subject: adium 6006:f7ea940efd62: Improved comment

details:	http://hg.adium.im/adium/rev/f7ea940efd62
revision:	6006:f7ea940efd62
branch:		adium-1.5.10.5
author:		Evan Schoenberg
date:		Thu Nov 14 18:14:58 2019 -0500

Improved comment
Subject: adium 6007:5b85c1405417: Backout changeset 66aac3254a5dc04a6e99c7967a80aed8c42b8742

details:	http://hg.adium.im/adium/rev/5b85c1405417
revision:	6007:5b85c1405417
branch:		adium-1.5.10.5
author:		Evan Schoenberg
date:		Thu Nov 14 18:15:56 2019 -0500

Backout changeset 66aac3254a5dc04a6e99c7967a80aed8c42b8742
Subject: adium 6008:651cb717da1b: Finish merge

details:	http://hg.adium.im/adium/rev/651cb717da1b
revision:	6008:651cb717da1b
branch:		adium-1.5.10.5
author:		Evan Schoenberg
date:		Thu Nov 14 19:44:51 2019 -0500

Finish merge
Subject: adium 6009:b532018ba9c8: Previous commit was finishing a merge but also project changes to allow codesigning to work automatically.  These two scripts are used in Run Script phases to fix up signing automatically; the symlinks were added to meet codesign's expectations

details:	http://hg.adium.im/adium/rev/b532018ba9c8
revision:	6009:b532018ba9c8
branch:		adium-1.5.10.5
author:		Evan Schoenberg
date:		Thu Nov 14 19:46:03 2019 -0500

Previous commit was finishing a merge but also project changes to allow codesigning to work automatically.  These two scripts are used in Run Script phases to fix up signing automatically; the symlinks were added to meet codesign's expectations
Subject: adium 6010:ea444ef3211e: Entitlements for a 'hardened executable'

details:	http://hg.adium.im/adium/rev/ea444ef3211e
revision:	6010:ea444ef3211e
branch:		adium-1.5.10.5
author:		Evan Schoenberg
date:		Thu Nov 14 19:46:24 2019 -0500

Entitlements for a 'hardened executable'
Subject: adium 6011:e925d319c622: Project file to make it easier to look at the dependencies build process

details:	http://hg.adium.im/adium/rev/e925d319c622
revision:	6011:e925d319c622
branch:		adium-1.5.10.5
author:		Evan Schoenberg
date:		Thu Nov 14 19:46:43 2019 -0500

Project file to make it easier to look at the dependencies build process

diffs (truncated from 4429 to 1000 lines):

diff -r 1894c44cfd13 -r e925d319c622 Adium.entitlements
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Adium.entitlements	Thu Nov 14 19:46:43 2019 -0500
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>com.apple.security.app-sandbox</key>
+	<false/>
+	<key>com.apple.security.automation.apple-events</key>
+	<true/>
+	<key>com.apple.security.device.audio-input</key>
+	<true/>
+	<key>com.apple.security.device.camera</key>
+	<true/>
+	<key>com.apple.security.personal-information.addressbook</key>
+	<true/>
+	<key>com.apple.security.personal-information.calendars</key>
+	<true/>
+	<key>com.apple.security.personal-information.location</key>
+	<true/>
+	<key>com.apple.security.personal-information.photos-library</key>
+	<true/>
+</dict>
+</plist>
diff -r 1894c44cfd13 -r e925d319c622 Adium.xcodeproj/project.pbxproj
--- a/Adium.xcodeproj/project.pbxproj	Mon Nov 04 10:23:55 2019 +0000
+++ b/Adium.xcodeproj/project.pbxproj	Thu Nov 14 19:46:43 2019 -0500
@@ -124,7 +124,7 @@
 		1163F0EC0F6C7A8300F12F5D /* AIURLShortenerPlugin.m in Sources */ = {isa = PBXBuildFile; fileRef = 1163F0EB0F6C7A8300F12F5D /* AIURLShortenerPlugin.m */; };
 		1164A90D0F7AD4AB00110AE4 /* AIContentTopic.h in Headers */ = {isa = PBXBuildFile; fileRef = 1164A90B0F7AD4AB00110AE4 /* AIContentTopic.h */; settings = {ATTRIBUTES = (Public, ); }; };
 		1164A9270F7AD70700110AE4 /* AIContentTopic.m in Sources */ = {isa = PBXBuildFile; fileRef = 1164A90C0F7AD4AB00110AE4 /* AIContentTopic.m */; };
-		116E369A10B72934002EDB0F /* Growl.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 7E9A8CB2104DEBC400F210CC /* Growl.framework */; };
+		116E369A10B72934002EDB0F /* Growl.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 7E9A8CB2104DEBC400F210CC /* Growl.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
 		116E373310B729E9002EDB0F /* Growl.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7E9A8CB2104DEBC400F210CC /* Growl.framework */; };
 		117009A70F7E7D720078D6AB /* AIIRCServicesPasswordPlugin.m in Sources */ = {isa = PBXBuildFile; fileRef = 117009A10F7E7D3A0078D6AB /* AIIRCServicesPasswordPlugin.m */; };
 		11700A350F7E8BE80078D6AB /* AISpecialPasswordPromptController.m in Sources */ = {isa = PBXBuildFile; fileRef = 11700A340F7E8BE80078D6AB /* AISpecialPasswordPromptController.m */; };
@@ -146,7 +146,7 @@
 		11819A1B10D0B95D003E8ECA /* AIMediaControllerProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = 11819A0910D0B90E003E8ECA /* AIMediaControllerProtocol.h */; settings = {ATTRIBUTES = (Public, ); }; };
 		118A44500FEEA828008153C0 /* libjson-glib.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 118A444F0FEEA828008153C0 /* libjson-glib.framework */; };
 		118A44510FEEA828008153C0 /* libjson-glib.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 118A444F0FEEA828008153C0 /* libjson-glib.framework */; };
-		118A44540FEEA82E008153C0 /* libjson-glib.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 118A444F0FEEA828008153C0 /* libjson-glib.framework */; };
+		118A44540FEEA82E008153C0 /* libjson-glib.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 118A444F0FEEA828008153C0 /* libjson-glib.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
 		1192E6D90FD3056F003CAEF5 /* AIAnnoyingIRCMessagesHiderPlugin.h in Headers */ = {isa = PBXBuildFile; fileRef = 1192E6B10FD30307003CAEF5 /* AIAnnoyingIRCMessagesHiderPlugin.h */; };
 		1192E6DA0FD30578003CAEF5 /* AIAnnoyingIRCMessagesHiderPlugin.m in Sources */ = {isa = PBXBuildFile; fileRef = 1192E6B20FD30307003CAEF5 /* AIAnnoyingIRCMessagesHiderPlugin.m */; };
 		1197F6710FCF8D180032F19B /* AITwitterStatusFollowup.m in Sources */ = {isa = PBXBuildFile; fileRef = 1197F6700FCF8D180032F19B /* AITwitterStatusFollowup.m */; };
@@ -180,12 +180,12 @@
 		11EE1B4E0CDCFAF40097F246 /* oscar-adium.h in Headers */ = {isa = PBXBuildFile; fileRef = 11EE1B4A0CDCFAF40097F246 /* oscar-adium.h */; };
 		11EE1B4F0CDCFAF40097F246 /* ssl-openssl.c in Sources */ = {isa = PBXBuildFile; fileRef = 11EE1B4B0CDCFAF40097F246 /* ssl-openssl.c */; };
 		11EE1B500CDCFAF40097F246 /* ssl.c in Sources */ = {isa = PBXBuildFile; fileRef = 11EE1B4C0CDCFAF40097F246 /* ssl.c */; };
-		11EE1CCF0CDD01120097F246 /* libglib.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 1172FBC30CDAA8D400B8E233 /* libglib.framework */; };
-		11EE1CD00CDD01120097F246 /* libgmodule.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 1172FBC40CDAA8D400B8E233 /* libgmodule.framework */; };
-		11EE1CD10CDD01120097F246 /* libgobject.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 1172FBC50CDAA8D400B8E233 /* libgobject.framework */; };
-		11EE1CD20CDD01120097F246 /* libgthread.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 1172FBC60CDAA8D400B8E233 /* libgthread.framework */; };
-		11EE1CD30CDD01120097F246 /* libintl.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 1172FBC70CDAA8D400B8E233 /* libintl.framework */; };
-		11EE1CD40CDD01120097F246 /* libmeanwhile.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 1172FBC80CDAA8D400B8E233 /* libmeanwhile.framework */; };
+		11EE1CCF0CDD01120097F246 /* libglib.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 1172FBC30CDAA8D400B8E233 /* libglib.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
+		11EE1CD00CDD01120097F246 /* libgmodule.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 1172FBC40CDAA8D400B8E233 /* libgmodule.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
+		11EE1CD10CDD01120097F246 /* libgobject.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 1172FBC50CDAA8D400B8E233 /* libgobject.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
+		11EE1CD20CDD01120097F246 /* libgthread.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 1172FBC60CDAA8D400B8E233 /* libgthread.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
+		11EE1CD30CDD01120097F246 /* libintl.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 1172FBC70CDAA8D400B8E233 /* libintl.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
+		11EE1CD40CDD01120097F246 /* libmeanwhile.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 1172FBC80CDAA8D400B8E233 /* libmeanwhile.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
 		11EE1CD50CDD01120097F246 /* libpurple.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 1172FBC90CDAA8D400B8E233 /* libpurple.framework */; };
 		11F145F00B546AC500CA91F6 /* Menu Bar Icons in Copy Built-in Xtras */ = {isa = PBXBuildFile; fileRef = 11F145C70B546A6D00CA91F6 /* Menu Bar Icons */; };
 		11F1460C0B546C1200CA91F6 /* AIMenuBarIcons.m in Sources */ = {isa = PBXBuildFile; fileRef = 11F1460A0B546C1200CA91F6 /* AIMenuBarIcons.m */; };
@@ -244,7 +244,7 @@
 		3419DE820A81042F00C3FC68 /* ToolbarPrefs.plist in Resources */ = {isa = PBXBuildFile; fileRef = 34D8327607CBD5B3006466F2 /* ToolbarPrefs.plist */; };
 		3419E2DF0A81445800C3FC68 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 3419E2DE0A81445800C3FC68 /* Localizable.strings */; };
 		3419F7760531512200C68BA3 /* Adium.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 34BD9DE105314751000AB133 /* Adium.framework */; };
-		3419FE230531586A00C68BA3 /* Adium.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 34BD9DE105314751000AB133 /* Adium.framework */; };
+		3419FE230531586A00C68BA3 /* Adium.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 34BD9DE105314751000AB133 /* Adium.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
 		341BCF850961354D00CF83F5 /* AIMessageWindow.m in Sources */ = {isa = PBXBuildFile; fileRef = 341BCF810961354D00CF83F5 /* AIMessageWindow.m */; };
 		341BCF870961354D00CF83F5 /* AIClickThroughThemeDocumentButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 341BCF830961354D00CF83F5 /* AIClickThroughThemeDocumentButton.m */; };
 		341BD55D0965E97F00CF83F5 /* ESOTRPreferences.m in Sources */ = {isa = PBXBuildFile; fileRef = 341BD5550965E97F00CF83F5 /* ESOTRPreferences.m */; };
@@ -931,7 +931,7 @@
 		34FF12120DA52FB10054A872 /* AIPurpleGTalkJoinChatViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 34FF12100DA52FB10054A872 /* AIPurpleGTalkJoinChatViewController.h */; };
 		34FF12130DA52FB10054A872 /* AIPurpleGTalkJoinChatViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 34FF12110DA52FB10054A872 /* AIPurpleGTalkJoinChatViewController.m */; };
 		377EC8940AE9525B00CB7BDF /* PSMTabBarControl.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 377EC8930AE9525B00CB7BDF /* PSMTabBarControl.framework */; };
-		377ED0220AE95D7D00CB7BDF /* PSMTabBarControl.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 377EC8930AE9525B00CB7BDF /* PSMTabBarControl.framework */; };
+		377ED0220AE95D7D00CB7BDF /* PSMTabBarControl.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 377EC8930AE9525B00CB7BDF /* PSMTabBarControl.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
 		4B08399507D2350D0034A001 /* AIDockIconSelectionSheet.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B08399307D2350D0034A001 /* AIDockIconSelectionSheet.m */; };
 		4B08399C07D235190034A001 /* DockIconSelectionSheet.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4B08399B07D235190034A001 /* DockIconSelectionSheet.xib */; };
 		4B191D8A0611C10800E8A4E7 /* License.txt in Resources */ = {isa = PBXBuildFile; fileRef = 4B191D880611C10800E8A4E7 /* License.txt */; };
@@ -1250,7 +1250,7 @@
 		633400E50F9C1501003C77A9 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 633400D90F9C1501003C77A9 /* Security.framework */; };
 		633400E60F9C1501003C77A9 /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 633400DA0F9C1501003C77A9 /* Carbon.framework */; };
 		633400E70F9C1501003C77A9 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 633400DB0F9C1501003C77A9 /* Cocoa.framework */; };
-		633404710F9C18EF003C77A9 /* AIUtilities.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 6334FBFC0F9C11DC003C77A9 /* AIUtilities.framework */; };
+		633404710F9C18EF003C77A9 /* AIUtilities.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 6334FBFC0F9C11DC003C77A9 /* AIUtilities.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
 		633405230F9C2B37003C77A9 /* AIUtilities.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6334FBFC0F9C11DC003C77A9 /* AIUtilities.framework */; };
 		633405990F9C2C00003C77A9 /* AIUtilities.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6334FBFC0F9C11DC003C77A9 /* AIUtilities.framework */; };
 		633405A90F9C2C7D003C77A9 /* AIUtilities.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6334FBFC0F9C11DC003C77A9 /* AIUtilities.framework */; };
@@ -1294,7 +1294,7 @@
 		639DF9190F97E639003C9A32 /* libintl.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1172FBC70CDAA8D400B8E233 /* libintl.framework */; };
 		639DF91A0F97E639003C9A32 /* libmeanwhile.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1172FBC80CDAA8D400B8E233 /* libmeanwhile.framework */; };
 		639DF91B0F97E639003C9A32 /* libpurple.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1172FBC90CDAA8D400B8E233 /* libpurple.framework */; };
-		639DF9D80F97E678003C9A32 /* AdiumLibpurple.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 3485D68009EB416300232CC4 /* AdiumLibpurple.framework */; };
+		639DF9D80F97E678003C9A32 /* AdiumLibpurple.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 3485D68009EB416300232CC4 /* AdiumLibpurple.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
 		63A3A98E0F9C35D3006C9CB0 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 63A3A9680F9C35D3006C9CB0 /* Localizable.strings */; };
 		63B0EC9C0F8FBB660062476B /* AIProxyListObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 63B0EC9A0F8FBB660062476B /* AIProxyListObject.m */; };
 		63B0EC9D0F8FBB660062476B /* AIProxyListObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 63B0EC9B0F8FBB660062476B /* AIProxyListObject.h */; settings = {ATTRIBUTES = (Public, ); }; };
@@ -1315,12 +1315,12 @@
 		7627CDE61E839A29002079F2 /* JSONKit.h in Headers */ = {isa = PBXBuildFile; fileRef = 34D8154413B663700022C8C4 /* JSONKit.h */; };
 		7627CDE71E839A30002079F2 /* JSONKit.m in Sources */ = {isa = PBXBuildFile; fileRef = 34D8154513B663700022C8C4 /* JSONKit.m */; };
 		7664EAA5162E086A008CF995 /* libffi.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7664EAA4162E086A008CF995 /* libffi.framework */; };
-		7664EAA6162E0874008CF995 /* libffi.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 7664EAA4162E086A008CF995 /* libffi.framework */; };
+		7664EAA6162E0874008CF995 /* libffi.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 7664EAA4162E086A008CF995 /* libffi.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
 		766ABAB61306D1020049FFB7 /* AIUnreadMessagesTooltip.m in Sources */ = {isa = PBXBuildFile; fileRef = 766ABAB51306D1020049FFB7 /* AIUnreadMessagesTooltip.m */; };
 		76731DE215F90538007728C3 /* libgcrypt.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 76731DE015F90538007728C3 /* libgcrypt.framework */; };
 		76731DE315F90538007728C3 /* libgpgerror.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 76731DE115F90538007728C3 /* libgpgerror.framework */; };
-		76731DE415F9057F007728C3 /* libgcrypt.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 76731DE015F90538007728C3 /* libgcrypt.framework */; };
-		76731DE515F90582007728C3 /* libgpgerror.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 76731DE115F90538007728C3 /* libgpgerror.framework */; };
+		76731DE415F9057F007728C3 /* libgcrypt.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 76731DE015F90538007728C3 /* libgcrypt.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
+		76731DE515F90582007728C3 /* libgpgerror.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 76731DE115F90538007728C3 /* libgpgerror.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
 		76889DEB12D3CA17007AEF00 /* get-info.tiff in Resources */ = {isa = PBXBuildFile; fileRef = 76889DEA12D3CA17007AEF00 /* get-info.tiff */; };
 		76889DEF12D3CA40007AEF00 /* Personal.tiff in Resources */ = {isa = PBXBuildFile; fileRef = 76889DEE12D3CA40007AEF00 /* Personal.tiff */; };
 		76C1AF9C125A906A00D269A9 /* AIAdiumURLProtocol.m in Sources */ = {isa = PBXBuildFile; fileRef = 76C1AF9B125A906A00D269A9 /* AIAdiumURLProtocol.m */; };
@@ -1366,8 +1366,8 @@
 		9718DF46136A2C5200013760 /* AIImageCollectionView.m in Sources */ = {isa = PBXBuildFile; fileRef = 9718DF44136A2C5200013760 /* AIImageCollectionView.m */; };
 		9719C92C1530EDF700217FBE /* FriBidi.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9719C92B1530EDF700217FBE /* FriBidi.framework */; };
 		9719C92E1530EE0C00217FBE /* ShortcutRecorder.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9719C92D1530EE0C00217FBE /* ShortcutRecorder.framework */; };
-		9719C92F1530EE4800217FBE /* FriBidi.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 9719C92B1530EDF700217FBE /* FriBidi.framework */; };
-		9719C9301530EE4800217FBE /* ShortcutRecorder.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 9719C92D1530EE0C00217FBE /* ShortcutRecorder.framework */; };
+		9719C92F1530EE4800217FBE /* FriBidi.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 9719C92B1530EDF700217FBE /* FriBidi.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
+		9719C9301530EE4800217FBE /* ShortcutRecorder.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 9719C92D1530EE0C00217FBE /* ShortcutRecorder.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
 		9722ABC813257D7F00CAB486 /* ContactListWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 9722ABC713257D7F00CAB486 /* ContactListWindow.xib */; };
 		9760D24613E49A560031FA1A /* AboutDialog_bg.png in Resources */ = {isa = PBXBuildFile; fileRef = 9760D24513E49A560031FA1A /* AboutDialog_bg.png */; };
 		979AA6A714D59DC8008730DF /* AIBoolToControlTextColorTransformer.h in Headers */ = {isa = PBXBuildFile; fileRef = 979AA6A514D59DC8008730DF /* AIBoolToControlTextColorTransformer.h */; settings = {ATTRIBUTES = (); }; };
@@ -1383,7 +1383,7 @@
 		9E124DF107D34C9100AA91C5 /* GrowlAlert.xib in Resources */ = {isa = PBXBuildFile; fileRef = 9E124DEF07D34C9000AA91C5 /* GrowlAlert.xib */; };
 		9E125C6607D3571400AA91C5 /* ESBlockingPlugin.m in Sources */ = {isa = PBXBuildFile; fileRef = 9E125C6407D3571400AA91C5 /* ESBlockingPlugin.m */; };
 		9E1E1DFD0A96741500E16DFC /* LMX.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9E1E1DFC0A96741500E16DFC /* LMX.framework */; };
-		9E1E1E270A96770C00E16DFC /* LMX.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 9E1E1DFC0A96741500E16DFC /* LMX.framework */; };
+		9E1E1E270A96770C00E16DFC /* LMX.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 9E1E1DFC0A96741500E16DFC /* LMX.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
 		9E20910E06A601AF00E33E27 /* CBStatusMenuItemController.m in Sources */ = {isa = PBXBuildFile; fileRef = 9E791DA40577094400547562 /* CBStatusMenuItemController.m */; };
 		9E20911006A601B200E33E27 /* CBStatusMenuItemPlugin.m in Sources */ = {isa = PBXBuildFile; fileRef = 9E791D9505768B7A00547562 /* CBStatusMenuItemPlugin.m */; };
 		9E217B7B06A74CA8002A3F27 /* StatusMenuItemDefaultPrefs.plist in Resources */ = {isa = PBXBuildFile; fileRef = 9E217B7706A74CA7002A3F27 /* StatusMenuItemDefaultPrefs.plist */; };
@@ -1400,10 +1400,10 @@
 		EE147A6D0896B18800A21377 /* ABSearch.png in Resources */ = {isa = PBXBuildFile; fileRef = EE147A6C0896B18700A21377 /* ABSearch.png */; };
 		EE147A790896B32400A21377 /* ABSearch.nib in Resources */ = {isa = PBXBuildFile; fileRef = EE147A780896B32400A21377 /* ABSearch.nib */; };
 		EE147A800896B33400A21377 /* OWABSearchWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = EE147A7E0896B33400A21377 /* OWABSearchWindowController.m */; };
-		EE5754ED0B3D7A7A00100989 /* Sparkle.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 638392F609D4D67A0067B9B7 /* Sparkle.framework */; };
+		EE5754ED0B3D7A7A00100989 /* Sparkle.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 638392F609D4D67A0067B9B7 /* Sparkle.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
 		EEC461B6096D68580028632F /* OWSpellingPerContactPlugin.m in Sources */ = {isa = PBXBuildFile; fileRef = EEC461B4096D68580028632F /* OWSpellingPerContactPlugin.m */; };
 		EFB1C3140DDBDA3100B3973D /* AITwitterIMPlugin.m in Sources */ = {isa = PBXBuildFile; fileRef = EFB1C3130DDBDA3100B3973D /* AITwitterIMPlugin.m */; };
-		F51BCD3B0A156261000FDC06 /* AutoHyperlinks.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 3496A8EA07CE6CA30055BBAB /* AutoHyperlinks.framework */; };
+		F51BCD3B0A156261000FDC06 /* AutoHyperlinks.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 3496A8EA07CE6CA30055BBAB /* AutoHyperlinks.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
 		F51BCEEA0A15793E000FDC06 /* AutoHyperlinks.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3496A8EA07CE6CA30055BBAB /* AutoHyperlinks.framework */; };
 		F5F8CA4D0A1A9C9400154550 /* GBQuestionHandlerPlugin.m in Sources */ = {isa = PBXBuildFile; fileRef = F5F8CA4B0A1A9C9400154550 /* GBQuestionHandlerPlugin.m */; };
 /* End PBXBuildFile section */
@@ -1413,11 +1413,13 @@
 			isa = PBXBuildRule;
 			compilerSpec = com.apple.compilers.proxy.script;
 			fileType = sourcecode.java;
+			inputFiles = (
+			);
 			isEditable = 1;
 			outputFiles = (
 				"$(TARGET_BUILD_DIR)/$(INPUT_FILE_BASE).class",
 			);
-			script = "javac -d \"${TARGET_BUILD_DIR}\" \"${INPUT_FILE_PATH}\"";
+			script = "javac -d \"${TARGET_BUILD_DIR}\" \"${INPUT_FILE_PATH}\"\n";
 		};
 /* End PBXBuildRule section */
 
@@ -3386,6 +3388,7 @@
 		34D8344D07CBE6E2006466F2 /* JVFontPreviewField.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = JVFontPreviewField.h; path = "Frameworks/Adium Framework/Source/JVFontPreviewField.h"; sourceTree = "<group>"; };
 		34D8B3D60D15A40C0066F013 /* fr_CA */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = fr_CA; path = Resources/fr_CA.lproj/Statuses.strings; sourceTree = "<group>"; };
 		34DC84280A7EA012003E1636 /* nl */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = nl; path = Resources/nl.lproj/ESFileTransferProgressView.nib; sourceTree = "<group>"; };
+		34DE9E60237E2BFC006D5C7F /* Adium.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = Adium.entitlements; sourceTree = "<group>"; };
 		34DFF46007A5EABF00B92233 /* ESSecureMessagingPlugin.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ESSecureMessagingPlugin.h; path = "Plugins/Secure Messaging/ESSecureMessagingPlugin.h"; sourceTree = "<group>"; };
 		34DFF46107A5EABF00B92233 /* ESSecureMessagingPlugin.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ESSecureMessagingPlugin.m; path = "Plugins/Secure Messaging/ESSecureMessagingPlugin.m"; sourceTree = "<group>"; };
 		34DFF52607A62EB000B92233 /* lock-unlocked.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; name = "lock-unlocked.tiff"; path = "Plugins/Secure Messaging/lock-unlocked.tiff"; sourceTree = "<group>"; };
@@ -4858,6 +4861,7 @@
 		29B97314FDCFA39411CA2CEA /* CocAIMe2 */ = {
 			isa = PBXGroup;
 			children = (
+				34DE9E60237E2BFC006D5C7F /* Adium.entitlements */,
 				4BE9FFE7055981AB00359B15 /* Adium.pch */,
 				F59DB3D6033EA9CD01A8010A /* AIAdium.h */,
 				F59DB3D7033EA9CD01A8010A /* AIAdium.m */,
@@ -8886,6 +8890,7 @@
 				4BF2E91F067CB76300743318 /* Copy Built-in Xtras */,
 				34BD9D6A053146CC000AB133 /* Copy AdiumPlugins */,
 				345DFF4A05564DB200CEE7B3 /* Run Generate Buildnum File Script */,
+				34DE9E5F237E2267006D5C7F /* Codesign Frameworks */,
 			);
 			buildRules = (
 				81F9D1DF0A7F81A5004A35BD /* PBXBuildRule */,
@@ -8911,6 +8916,7 @@
 				34BD9DC505314751000AB133 /* Resources */,
 				34BD9DC805314751000AB133 /* Sources */,
 				34BD9DDB05314751000AB133 /* Frameworks */,
+				34DE9E5E237E1B3D006D5C7F /* Codesign executable */,
 			);
 			buildRules = (
 			);
@@ -8934,6 +8940,7 @@
 				6334FBF80F9C11DC003C77A9 /* Resources */,
 				6334FBF90F9C11DC003C77A9 /* Sources */,
 				6334FBFA0F9C11DC003C77A9 /* Frameworks */,
+				34DE9E59237E1839006D5C7F /* Codesign Executable */,
 			);
 			buildRules = (
 			);
@@ -9475,7 +9482,7 @@
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 			shellPath = /bin/sh;
-			shellScript = "# otool -L \"$SCRIPT_INPUT_FILE_0\" | grep libpurple.framework | \n# install_name_tool -change @executable_path/../Frameworks/libpurple.framework/Versions/0.5.0/libpurple @executable_path/../Frameworks/libpurple.framework/Versions/Current/libpurple";
+			shellScript = "# otool -L \"$SCRIPT_INPUT_FILE_0\" | grep libpurple.framework | \n# install_name_tool -change @executable_path/../Frameworks/libpurple.framework/Versions/0.5.0/libpurple @executable_path/../Frameworks/libpurple.framework/Versions/Current/libpurple\n";
 		};
 		345DFF4A05564DB200CEE7B3 /* Run Generate Buildnum File Script */ = {
 			isa = PBXShellScriptBuildPhase;
@@ -9492,7 +9499,61 @@
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 			shellPath = /bin/sh;
-			shellScript = "gcc -E -P -x c -Wno-trigraphs -include \"$SCRIPT_INPUT_FILE_0\" -C \"$SCRIPT_INPUT_FILE_1\" -o \"$SCRIPT_OUTPUT_FILE_0\"";
+			shellScript = "gcc -E -P -x c -Wno-trigraphs -include \"$SCRIPT_INPUT_FILE_0\" -C \"$SCRIPT_INPUT_FILE_1\" -o \"$SCRIPT_OUTPUT_FILE_0\"\n";
+		};
+		34DE9E59237E1839006D5C7F /* Codesign Executable */ = {
+			isa = PBXShellScriptBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+			);
+			inputFileListPaths = (
+			);
+			inputPaths = (
+			);
+			name = "Codesign Executable";
+			outputFileListPaths = (
+			);
+			outputPaths = (
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+			shellPath = /bin/sh;
+			shellScript = "\"$SRCROOT/Build-Phases/codesign-executable.sh\"\n";
+		};
+		34DE9E5E237E1B3D006D5C7F /* Codesign executable */ = {
+			isa = PBXShellScriptBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+			);
+			inputFileListPaths = (
+			);
+			inputPaths = (
+			);
+			name = "Codesign executable";
+			outputFileListPaths = (
+			);
+			outputPaths = (
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+			shellPath = /bin/sh;
+			shellScript = "\"$SRCROOT/Build-Phases/codesign-executable.sh\"\n";
+		};
+		34DE9E5F237E2267006D5C7F /* Codesign Frameworks */ = {
+			isa = PBXShellScriptBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+			);
+			inputFileListPaths = (
+			);
+			inputPaths = (
+			);
+			name = "Codesign Frameworks";
+			outputFileListPaths = (
+			);
+			outputPaths = (
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+			shellPath = /bin/sh;
+			shellScript = "\"$SRCROOT/Build-Phases/codesign-frameworks.sh\"\n";
 		};
 		34F3B9500BDF15F40011AB34 /* ShellScript */ = {
 			isa = PBXShellScriptBuildPhase;
@@ -11817,6 +11878,8 @@
 					"$(inherited)",
 					"\"$(SRCROOT)/Frameworks\"",
 				);
+				MARKETING_VERSION = 1;
+				PRODUCT_BUNDLE_IDENTIFIER = com.adiumX.AdiumPurple;
 			};
 			name = Debug;
 		};
@@ -11828,6 +11891,8 @@
 					"$(inherited)",
 					"\"$(SRCROOT)/Frameworks\"",
 				);
+				MARKETING_VERSION = 1;
+				PRODUCT_BUNDLE_IDENTIFIER = com.adiumX.AdiumPurple;
 			};
 			name = Release;
 		};
@@ -11839,6 +11904,8 @@
 					"$(inherited)",
 					"\"$(SRCROOT)/Frameworks\"",
 				);
+				MARKETING_VERSION = 1;
+				PRODUCT_BUNDLE_IDENTIFIER = com.adiumX.AdiumPurple;
 			};
 			name = "Release-Debug";
 		};
@@ -11888,6 +11955,8 @@
 			isa = XCBuildConfiguration;
 			baseConfigurationReference = 63C7E2030FAFAA4700B310AC /* AIUtilities.framework.xcconfig */;
 			buildSettings = {
+				MARKETING_VERSION = 1;
+				PRODUCT_BUNDLE_IDENTIFIER = com.adiumX.AIUtilities;
 			};
 			name = Debug;
 		};
@@ -11895,6 +11964,8 @@
 			isa = XCBuildConfiguration;
 			baseConfigurationReference = 63C7E2030FAFAA4700B310AC /* AIUtilities.framework.xcconfig */;
 			buildSettings = {
+				MARKETING_VERSION = 1;
+				PRODUCT_BUNDLE_IDENTIFIER = com.adiumX.AIUtilities;
 			};
 			name = Release;
 		};
@@ -11902,6 +11973,8 @@
 			isa = XCBuildConfiguration;
 			baseConfigurationReference = 63C7E2030FAFAA4700B310AC /* AIUtilities.framework.xcconfig */;
 			buildSettings = {
+				MARKETING_VERSION = 1;
+				PRODUCT_BUNDLE_IDENTIFIER = com.adiumX.AIUtilities;
 			};
 			name = "Release-Debug";
 		};
@@ -11930,6 +12003,8 @@
 			isa = XCBuildConfiguration;
 			baseConfigurationReference = 63C7E2070FAFAA4700B310AC /* Adium.framework.xcconfig */;
 			buildSettings = {
+				MARKETING_VERSION = 1;
+				PRODUCT_BUNDLE_IDENTIFIER = com.adiumX.AdiumFramework;
 			};
 			name = Debug;
 		};
@@ -11937,6 +12012,8 @@
 			isa = XCBuildConfiguration;
 			baseConfigurationReference = 63C7E2070FAFAA4700B310AC /* Adium.framework.xcconfig */;
 			buildSettings = {
+				MARKETING_VERSION = 1;
+				PRODUCT_BUNDLE_IDENTIFIER = com.adiumX.AdiumFramework;
 			};
 			name = Release;
 		};
@@ -11944,6 +12021,8 @@
 			isa = XCBuildConfiguration;
 			baseConfigurationReference = 63C7E2070FAFAA4700B310AC /* Adium.framework.xcconfig */;
 			buildSettings = {
+				MARKETING_VERSION = 1;
+				PRODUCT_BUNDLE_IDENTIFIER = com.adiumX.AdiumFramework;
 			};
 			name = "Release-Debug";
 		};
@@ -11951,11 +12030,14 @@
 			isa = XCBuildConfiguration;
 			baseConfigurationReference = 63C7E2040FAFAA4700B310AC /* Adium.xcconfig */;
 			buildSettings = {
+				CODE_SIGN_ENTITLEMENTS = Adium.entitlements;
+				ENABLE_HARDENED_RUNTIME = YES;
 				FRAMEWORK_SEARCH_PATHS = (
 					"$(inherited)",
 					"\"$(SRCROOT)/Frameworks\"",
 					"\"$(SRCROOT)/build/Debug\"",
 				);
+				PRODUCT_BUNDLE_IDENTIFIER = com.adiumX.adiumX;
 			};
 			name = Debug;
 		};
@@ -11963,12 +12045,15 @@
 			isa = XCBuildConfiguration;
 			baseConfigurationReference = 63C7E2040FAFAA4700B310AC /* Adium.xcconfig */;
 			buildSettings = {
+				CODE_SIGN_ENTITLEMENTS = Adium.entitlements;
+				ENABLE_HARDENED_RUNTIME = YES;
 				FRAMEWORK_SEARCH_PATHS = (
 					"$(inherited)",
 					"\"$(SRCROOT)/Frameworks\"",
 					"\"$(SRCROOT)/build/Debug\"",
 				);
 				GCC_PREPROCESSOR_DEFINITIONS = RELEASE_BUILD;
+				PRODUCT_BUNDLE_IDENTIFIER = com.adiumX.adiumX;
 			};
 			name = Release;
 		};
@@ -11976,6 +12061,8 @@
 			isa = XCBuildConfiguration;
 			baseConfigurationReference = 63C7E2040FAFAA4700B310AC /* Adium.xcconfig */;
 			buildSettings = {
+				CODE_SIGN_ENTITLEMENTS = Adium.entitlements;
+				ENABLE_HARDENED_RUNTIME = YES;
 				FRAMEWORK_SEARCH_PATHS = (
 					"$(inherited)",
 					"\"$(SRCROOT)/Frameworks\"",
@@ -11985,6 +12072,7 @@
 					RELEASE_BUILD,
 					DEBUG_BUILD,
 				);
+				PRODUCT_BUNDLE_IDENTIFIER = com.adiumX.adiumX;
 			};
 			name = "Release-Debug";
 		};
diff -r 1894c44cfd13 -r e925d319c622 Build-Phases/codesign-executable.sh
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Build-Phases/codesign-executable.sh	Thu Nov 14 19:46:43 2019 -0500
@@ -0,0 +1,5 @@
+####
+# Deep sign the built executable with the current code signing identity. This is a fix for Xcode's faulty handling of frameworks;
+# without this step, the framework bundle fails to sign because the binary itself isn't yet signed. (?!?) -evands 11-14-2019
+####
+codesign -f -v --deep -s "${CODE_SIGN_IDENTITY}" "${BUILT_PRODUCTS_DIR}/${EXECUTABLE_PATH}"
diff -r 1894c44cfd13 -r e925d319c622 Build-Phases/codesign-frameworks.sh
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Build-Phases/codesign-frameworks.sh	Thu Nov 14 19:46:43 2019 -0500
@@ -0,0 +1,5 @@
+####
+# Deep sign the libotr and libpurple frameworks; ineffably, they don't sign properly when Code Sign On Copy is enabled -evands 11-14-2019
+####
+codesign -f --verbose=4 --deep -s "${CODE_SIGN_IDENTITY}" "${BUILT_PRODUCTS_DIR}/${FRAMEWORKS_FOLDER_PATH}/libotr.framework/Versions/Current"
+codesign -f --verbose=4 --deep -s "${CODE_SIGN_IDENTITY}" "${BUILT_PRODUCTS_DIR}/${FRAMEWORKS_FOLDER_PATH}/libpurple.framework/Versions/Current"
diff -r 1894c44cfd13 -r e925d319c622 Dependencies/adium-dependencies.xcodeproj/project.pbxproj
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Dependencies/adium-dependencies.xcodeproj/project.pbxproj	Thu Nov 14 19:46:43 2019 -0500
@@ -0,0 +1,187 @@
+// !$*UTF8*$!
+{
+	archiveVersion = 1;
+	classes = {
+	};
+	objectVersion = 50;
+	objects = {
+
+/* Begin PBXFileReference section */
+		34DE9E53237E0F34006D5C7F /* framework_maker */ = {isa = PBXFileReference; lastKnownFileType = folder; path = framework_maker; sourceTree = "<group>"; };
+		34DE9E54237E0F3B006D5C7F /* build.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = build.sh; sourceTree = "<group>"; };
+		34DE9E55237E0F3B006D5C7F /* copy_frameworks.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = copy_frameworks.sh; sourceTree = "<group>"; };
+		34DE9E56237E0F45006D5C7F /* phases */ = {isa = PBXFileReference; lastKnownFileType = folder; path = phases; sourceTree = "<group>"; };
+/* End PBXFileReference section */
+
+/* Begin PBXGroup section */
+		34DE9E3E237E0F19006D5C7F = {
+			isa = PBXGroup;
+			children = (
+				34DE9E54237E0F3B006D5C7F /* build.sh */,
+				34DE9E55237E0F3B006D5C7F /* copy_frameworks.sh */,
+				34DE9E53237E0F34006D5C7F /* framework_maker */,
+				34DE9E56237E0F45006D5C7F /* phases */,
+				34DE9E48237E0F19006D5C7F /* Products */,
+			);
+			sourceTree = "<group>";
+		};
+		34DE9E48237E0F19006D5C7F /* Products */ = {
+			isa = PBXGroup;
+			children = (
+			);
+			name = Products;
+			sourceTree = "<group>";
+		};
+/* End PBXGroup section */
+
+/* Begin PBXProject section */
+		34DE9E3F237E0F19006D5C7F /* Project object */ = {
+			isa = PBXProject;
+			attributes = {
+				LastUpgradeCheck = 1120;
+				ORGANIZATIONNAME = "Evan Schoenberg";
+			};
+			buildConfigurationList = 34DE9E42237E0F19006D5C7F /* Build configuration list for PBXProject "adium-dependencies" */;
+			compatibilityVersion = "Xcode 9.3";
+			developmentRegion = en;
+			hasScannedForEncodings = 0;
+			knownRegions = (
+				en,
+				Base,
+			);
+			mainGroup = 34DE9E3E237E0F19006D5C7F;
+			productRefGroup = 34DE9E48237E0F19006D5C7F /* Products */;
+			projectDirPath = "";
+			projectRoot = "";
+			targets = (
+			);
+		};
+/* End PBXProject section */
+
+/* Begin XCBuildConfiguration section */
+		34DE9E4E237E0F19006D5C7F /* Debug */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ALWAYS_SEARCH_USER_PATHS = NO;
+				CLANG_ANALYZER_NONNULL = YES;
+				CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
+				CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
+				CLANG_CXX_LIBRARY = "libc++";
+				CLANG_ENABLE_MODULES = YES;
+				CLANG_ENABLE_OBJC_ARC = YES;
+				CLANG_ENABLE_OBJC_WEAK = YES;
+				CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
+				CLANG_WARN_BOOL_CONVERSION = YES;
+				CLANG_WARN_COMMA = YES;
+				CLANG_WARN_CONSTANT_CONVERSION = YES;
+				CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
+				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+				CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
+				CLANG_WARN_EMPTY_BODY = YES;
+				CLANG_WARN_ENUM_CONVERSION = YES;
+				CLANG_WARN_INFINITE_RECURSION = YES;
+				CLANG_WARN_INT_CONVERSION = YES;
+				CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
+				CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
+				CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
+				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+				CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
+				CLANG_WARN_STRICT_PROTOTYPES = YES;
+				CLANG_WARN_SUSPICIOUS_MOVE = YES;
+				CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
+				CLANG_WARN_UNREACHABLE_CODE = YES;
+				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+				COPY_PHASE_STRIP = NO;
+				DEBUG_INFORMATION_FORMAT = dwarf;
+				ENABLE_STRICT_OBJC_MSGSEND = YES;
+				ENABLE_TESTABILITY = YES;
+				GCC_C_LANGUAGE_STANDARD = gnu11;
+				GCC_DYNAMIC_NO_PIC = NO;
+				GCC_NO_COMMON_BLOCKS = YES;
+				GCC_OPTIMIZATION_LEVEL = 0;
+				GCC_PREPROCESSOR_DEFINITIONS = (
+					"DEBUG=1",
+					"$(inherited)",
+				);
+				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
+				GCC_WARN_UNDECLARED_SELECTOR = YES;
+				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
+				GCC_WARN_UNUSED_FUNCTION = YES;
+				GCC_WARN_UNUSED_VARIABLE = YES;
+				IPHONEOS_DEPLOYMENT_TARGET = 13.2;
+				MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
+				MTL_FAST_MATH = YES;
+				ONLY_ACTIVE_ARCH = YES;
+				SDKROOT = iphoneos;
+			};
+			name = Debug;
+		};
+		34DE9E4F237E0F19006D5C7F /* Release */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ALWAYS_SEARCH_USER_PATHS = NO;
+				CLANG_ANALYZER_NONNULL = YES;
+				CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
+				CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
+				CLANG_CXX_LIBRARY = "libc++";
+				CLANG_ENABLE_MODULES = YES;
+				CLANG_ENABLE_OBJC_ARC = YES;
+				CLANG_ENABLE_OBJC_WEAK = YES;
+				CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
+				CLANG_WARN_BOOL_CONVERSION = YES;
+				CLANG_WARN_COMMA = YES;
+				CLANG_WARN_CONSTANT_CONVERSION = YES;
+				CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
+				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+				CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
+				CLANG_WARN_EMPTY_BODY = YES;
+				CLANG_WARN_ENUM_CONVERSION = YES;
+				CLANG_WARN_INFINITE_RECURSION = YES;
+				CLANG_WARN_INT_CONVERSION = YES;
+				CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
+				CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
+				CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
+				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+				CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
+				CLANG_WARN_STRICT_PROTOTYPES = YES;
+				CLANG_WARN_SUSPICIOUS_MOVE = YES;
+				CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
+				CLANG_WARN_UNREACHABLE_CODE = YES;
+				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+				COPY_PHASE_STRIP = NO;
+				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+				ENABLE_NS_ASSERTIONS = NO;
+				ENABLE_STRICT_OBJC_MSGSEND = YES;
+				GCC_C_LANGUAGE_STANDARD = gnu11;
+				GCC_NO_COMMON_BLOCKS = YES;
+				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
+				GCC_WARN_UNDECLARED_SELECTOR = YES;
+				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
+				GCC_WARN_UNUSED_FUNCTION = YES;
+				GCC_WARN_UNUSED_VARIABLE = YES;
+				IPHONEOS_DEPLOYMENT_TARGET = 13.2;
+				MTL_ENABLE_DEBUG_INFO = NO;
+				MTL_FAST_MATH = YES;
+				SDKROOT = iphoneos;
+				VALIDATE_PRODUCT = YES;
+			};
+			name = Release;
+		};
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+		34DE9E42237E0F19006D5C7F /* Build configuration list for PBXProject "adium-dependencies" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				34DE9E4E237E0F19006D5C7F /* Debug */,
+				34DE9E4F237E0F19006D5C7F /* Release */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Release;
+		};
+/* End XCConfigurationList section */
+	};
+	rootObject = 34DE9E3F237E0F19006D5C7F /* Project object */;
+}
diff -r 1894c44cfd13 -r e925d319c622 Dependencies/framework_maker/frameworkize.py
--- a/Dependencies/framework_maker/frameworkize.py	Mon Nov 04 10:23:55 2019 +0000
+++ b/Dependencies/framework_maker/frameworkize.py	Thu Nov 14 19:46:43 2019 -0500
@@ -76,7 +76,7 @@
   
   for lib,name,version in zip(libs_to_convert, framework_names, 
                 framework_versions):
-    #execute rtool a crapton of times
+    #execute rtool (tool to build a bundle from the dylib) a crapton of times
     header_path = '/'.join(lib.split('/')[0:-1]) + '/include/' + name
     if version != '' and version != 'A':
       header_path += '-'+version
diff -r 1894c44cfd13 -r e925d319c622 Dependencies/phases/build_otr.sh
--- a/Dependencies/phases/build_otr.sh	Mon Nov 04 10:23:55 2019 +0000
+++ b/Dependencies/phases/build_otr.sh	Thu Nov 14 19:46:43 2019 -0500
@@ -68,7 +68,7 @@
 ##
 # Libotr
 #
-OTR_VERSION=2.2.0
+OTR_VERSION=3.2.0
 build_otr(){
 	build_libgcrypt
 	prereq "otr" \
diff -r 1894c44cfd13 -r e925d319c622 Frameworks/AIUtilities Framework/Resources/AIUtilities_Framework.plist
--- a/Frameworks/AIUtilities Framework/Resources/AIUtilities_Framework.plist	Mon Nov 04 10:23:55 2019 +0000
+++ b/Frameworks/AIUtilities Framework/Resources/AIUtilities_Framework.plist	Thu Nov 14 19:46:43 2019 -0500
@@ -11,7 +11,7 @@
 	<key>CFBundleIconFile</key>
 	<string></string>
 	<key>CFBundleIdentifier</key>
-	<string>com.adiumX.AIUtilities</string>
+	<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
 	<key>CFBundleInfoDictionaryVersion</key>
 	<string>6.0</string>
 	<key>CFBundleName</key>
@@ -19,7 +19,7 @@
 	<key>CFBundlePackageType</key>
 	<string>FMWK</string>
 	<key>CFBundleShortVersionString</key>
-	<string></string>
+	<string>$(MARKETING_VERSION)</string>
 	<key>CFBundleSignature</key>
 	<string>????</string>
 	<key>CFBundleVersion</key>
diff -r 1894c44cfd13 -r e925d319c622 Frameworks/AIUtilities Framework/Source/AIAttributedStringAdditions.m
--- a/Frameworks/AIUtilities Framework/Source/AIAttributedStringAdditions.m	Mon Nov 04 10:23:55 2019 +0000
+++ b/Frameworks/AIUtilities Framework/Source/AIAttributedStringAdditions.m	Thu Nov 14 19:46:43 2019 -0500
@@ -289,7 +289,7 @@
     if ([self length] && [self containsAttachments]) {
         NSInteger							currentLocation = 0;
         NSRange						attachmentRange;
-		NSString					*attachmentCharacterString = [NSString stringWithFormat:@"%C",NSAttachmentCharacter];
+		NSString					*attachmentCharacterString = [NSString stringWithFormat:@"%C",(unichar)NSAttachmentCharacter];
 		
         //find attachment
         attachmentRange = [[self string] rangeOfString:attachmentCharacterString
diff -r 1894c44cfd13 -r e925d319c622 Frameworks/AIUtilities Framework/Source/AIBorderlessWindow.m
--- a/Frameworks/AIUtilities Framework/Source/AIBorderlessWindow.m	Mon Nov 04 10:23:55 2019 +0000
+++ b/Frameworks/AIUtilities Framework/Source/AIBorderlessWindow.m	Thu Nov 14 19:46:43 2019 -0500
@@ -68,9 +68,9 @@
     BOOL shouldClose = YES;
     
 	if ([self delegate] && [[self delegate] respondsToSelector:@selector(windowShouldClose:)]) {
-        shouldClose = [(id)[self delegate] windowShouldClose:nil];
+        shouldClose = [(id)[self delegate] windowShouldClose:sender];
     } else if ([self respondsToSelector:@selector(windowShouldClose:)]) { 
-        shouldClose = [(id)self windowShouldClose:nil];
+        shouldClose = [(id)self windowShouldClose:sender];
 	}
 	
     if (shouldClose) {
diff -r 1894c44cfd13 -r e925d319c622 Frameworks/AIUtilities Framework/Source/AIColorAdditions.m
--- a/Frameworks/AIUtilities Framework/Source/AIColorAdditions.m	Mon Nov 04 10:23:55 2019 +0000
+++ b/Frameworks/AIUtilities Framework/Source/AIColorAdditions.m	Thu Nov 14 19:46:43 2019 -0500
@@ -25,9 +25,11 @@
 static NSArray *defaultValidColors = nil;
 #define VALID_COLORS_ARRAY [[NSArray alloc] initWithObjects:@"aqua", @"aquamarine", @"blue", @"blueviolet", @"brown", @"burlywood", @"cadetblue", @"chartreuse", @"chocolate", @"coral", @"cornflowerblue", @"crimson", @"cyan", @"darkblue", @"darkcyan", @"darkgoldenrod", @"darkgreen", @"darkgrey", @"darkkhaki", @"darkmagenta", @"darkolivegreen", @"darkorange", @"darkorchid", @"darkred", @"darksalmon", @"darkseagreen", @"darkslateblue", @"darkslategrey", @"darkturquoise", @"darkviolet", @"deeppink", @"deepskyblue", @"dimgrey", @"dodgerblue", @"firebrick", @"forestgreen", @"fuchsia", @"gold", @"goldenrod", @"green", @"greenyellow", @"grey", @"hotpink", @"indianred", @"indigo", @"lawngreen", @"lightblue", @"lightcoral", @"lightgreen", @"lightgrey", @"lightpink", @"lightsalmon", @"lightseagreen", @"lightskyblue", @"lightslategrey", @"lightsteelblue", @"lime", @"limegreen", @"magenta", @"maroon", @"mediumaquamarine", @"mediumblue", @"mediumorchid", @"mediumpurple", @"mediumseagreen", @"mediumslateblue", @"mediumspringgreen", @"mediumturquoise", @"mediumvioletred", @"midnightblue", @"navy", @"olive", @"olivedrab", @"orange", @"orangered", @"orchid", @"palegreen", @"paleturquoise", @"palevioletred", @"peru", @"pink", @"plum", @"powderblue", @"purple", @"red", @"rosybrown", @"royalblue", @"saddlebrown", @"salmon", @"sandybrown", @"seagreen", @"sienna", @"silver", @"skyblue", @"slateblue", @"slategrey", @"springgreen", @"steelblue", @"tan", @"teal", @"thistle", @"tomato", @"turquoise", @"violet", @"yellowgreen", nil]
 
+/*
 static const CGFloat ONE_THIRD = 1.0f/3.0f;
 static const CGFloat ONE_SIXTH = 1.0f/6.0f;
 static const CGFloat TWO_THIRD = 2.0f/3.0f;
+*/
 
 static NSMutableDictionary *RGBColorValues = nil;
 
diff -r 1894c44cfd13 -r e925d319c622 Frameworks/AIUtilities Framework/Source/AIDateFormatterAdditions.m
--- a/Frameworks/AIUtilities Framework/Source/AIDateFormatterAdditions.m	Mon Nov 04 10:23:55 2019 +0000
+++ b/Frameworks/AIUtilities Framework/Source/AIDateFormatterAdditions.m	Thu Nov 14 19:46:43 2019 -0500
@@ -355,10 +355,10 @@
 	//build the strings for the parts
 	if (abbreviate) {
 		//Note: after checking with a linguistics student, it appears that we're fine leaving it as w, h, etc... rather than localizing.
-		weeksString		= [NSString stringWithFormat: @"%iw",weeks];
-		daysString		= [NSString stringWithFormat: @"%id",days];
-		hoursString		= [NSString stringWithFormat: @"%ih",hours];
-		minutesString	= [NSString stringWithFormat: @"%im",minutes];
+        weeksString		= [NSString stringWithFormat: @"%liw",(long)weeks];
+		daysString		= [NSString stringWithFormat: @"%id",(int)days];
+		hoursString		= [NSString stringWithFormat: @"%ih",(int)hours];
+		minutesString	= [NSString stringWithFormat: @"%im",(int)minutes];
 		secondsString	= [NSString stringWithFormat: @"%.0fs",seconds];
 	} else {
 		weeksString		= (weeks == 1)		? ONE_WEEK		: [NSString stringWithFormat:MULTIPLE_WEEKS, weeks];
@@ -468,7 +468,7 @@
 					[newFormat appendString:@"%Y"];
 					break;
 				default:
-					[newFormat appendFormat:@"%%%iY", [span length]];
+                    [newFormat appendFormat:@"%%%luY", (unsigned long)[span length]];
 			}
 			
 		} else if (it == 'M') {
diff -r 1894c44cfd13 -r e925d319c622 Frameworks/AIUtilities Framework/Source/AIDockingWindow.m
--- a/Frameworks/AIUtilities Framework/Source/AIDockingWindow.m	Mon Nov 04 10:23:55 2019 +0000
+++ b/Frameworks/AIUtilities Framework/Source/AIDockingWindow.m	Thu Nov 14 19:46:43 2019 -0500
@@ -37,7 +37,7 @@
 
 @implementation AIDockingWindow
 
-- (id)initWithContentRect:(NSRect)contentRect styleMask:(NSUInteger)aStyle backing:(NSBackingStoreType)bufferingType defer:(BOOL)flag
+- (instancetype)initWithContentRect:(NSRect)contentRect styleMask:(NSUInteger)aStyle backing:(NSBackingStoreType)bufferingType defer:(BOOL)flag
 {
 	if ((self = [super initWithContentRect:contentRect styleMask:aStyle backing:bufferingType defer:flag])) {
 		[self _initDockingWindow];
diff -r 1894c44cfd13 -r e925d319c622 Frameworks/AIUtilities Framework/Source/AIGenericViewCell.m
--- a/Frameworks/AIUtilities Framework/Source/AIGenericViewCell.m	Mon Nov 04 10:23:55 2019 +0000
+++ b/Frameworks/AIUtilities Framework/Source/AIGenericViewCell.m	Thu Nov 14 19:46:43 2019 -0500
@@ -109,7 +109,7 @@
 			 fraction:1.0f];	
 }
 
-- (NSUInteger)hitTestForEvent:(NSEvent *)event inRect:(NSRect)cellFrame ofView:(NSView *)controlView
+- (NSCellHitResult)hitTestForEvent:(NSEvent *)event inRect:(NSRect)cellFrame ofView:(NSView *)controlView
 {	
 	return NSCellHitContentArea;
 }
diff -r 1894c44cfd13 -r e925d319c622 Frameworks/AIUtilities Framework/Source/AIImageAdditions.m
--- a/Frameworks/AIUtilities Framework/Source/AIImageAdditions.m	Mon Nov 04 10:23:55 2019 +0000
+++ b/Frameworks/AIUtilities Framework/Source/AIImageAdditions.m	Thu Nov 14 19:46:43 2019 -0500
@@ -232,7 +232,7 @@
 	/* PNG is easy; it supports everything TIFF does, and NSImage's PNG support is great. */
 	NSBitmapImageRep *bitmapRep =  [self largestBitmapImageRep];
 
-	return ([bitmapRep representationUsingType:NSPNGFileType properties:nil]);
+    return ([bitmapRep representationUsingType:NSPNGFileType properties:[NSDictionary dictionary]]);
 }
 
 - (NSData *)GIFRepresentation
@@ -240,9 +240,11 @@
 	// GIF requires special treatment, as Apple doesn't allow you to save animations.
 	
 	NSMutableData *GIFRepresentation = nil;
-	NSBitmapImageRep *bitmap = [[self representations] objectAtIndex:0];
-	
-	if (bitmap && [bitmap isKindOfClass:[NSBitmapImageRep class]]) {
+	NSImageRep *imageRep = [[self representations] objectAtIndex:0];
+    NSBitmapImageRep *bitmap = nil;
+    
+	if (imageRep && [imageRep isKindOfClass:[NSBitmapImageRep class]]) {
+        bitmap = (NSBitmapImageRep *)bitmap;
 		unsigned frameCount = [[bitmap valueForProperty:NSImageFrameCount] intValue];
 		
 		if (!frameCount) {
@@ -258,7 +260,8 @@
 				// Set current frame
 				[bitmap setProperty:NSImageCurrentFrame withValue:[NSNumber numberWithUnsignedInt:i]];
 				// Add frame representation
-				[images addObject:[NSBitmapImageRep imageRepWithData:[bitmap representationUsingType:NSGIFFileType properties:nil]]];
+                [images addObject:[NSBitmapImageRep imageRepWithData:[bitmap representationUsingType:NSGIFFileType
+                                                                                          properties:[NSDictionary dictionary]]]];
 			}
 			
 			GIFRepresentation = [NSMutableData dataWithData:[NSBitmapImageRep representationOfImageRepsInArray:images
@@ -279,7 +282,7 @@
 	 * before creating our representation or transparent parts will become black. White is preferable.
 	 */
 
-	return ([[self opaqueBitmapImageRep] representationUsingType:NSBMPFileType properties:nil]);
+    return ([[self opaqueBitmapImageRep] representationUsingType:NSBMPFileType properties:@{}]);
 }
 
 /*!
@@ -288,11 +291,11 @@
 - (NSData *)bestRepresentationByType
 {
 	NSData *data = nil;
-	NSBitmapImageRep *bitmap = nil;
+	NSImageRep *bitmap = nil;
 	
 	if ((bitmap = [[self representations] objectAtIndex:0]) &&
 		[bitmap isKindOfClass:[NSBitmapImageRep class]] &&
-		([[bitmap valueForProperty:NSImageFrameCount] intValue] > 1)) {
+		([[(NSBitmapImageRep *)bitmap valueForProperty:NSImageFrameCount] intValue] > 1)) {
 		data = [self GIFRepresentation];
 	} else {
 		data = [self PNGRepresentation];
@@ -332,7 +335,7 @@
 	if (!imageRep)
 		return nil;
 	
-	NSData *data = [imageRep representationUsingType:fileType properties:nil];
+	NSData *data = [imageRep representationUsingType:fileType properties:@{}];
 	
 	// If no maximum size, return the base representation.
 	if (!maximumSize)
@@ -369,7 +372,7 @@
 		imageRep = newImageRep;
 		
 		// Grab a new representation
-		data = [imageRep representationUsingType:fileType properties:nil];
+		data = [imageRep representationUsingType:fileType properties:@{}];
 	}
 	
 	return data;
diff -r 1894c44cfd13 -r e925d319c622 Frameworks/AIUtilities Framework/Source/AIImageViewWithImagePicker.m
--- a/Frameworks/AIUtilities Framework/Source/AIImageViewWithImagePicker.m	Mon Nov 04 10:23:55 2019 +0000
+++ b/Frameworks/AIUtilities Framework/Source/AIImageViewWithImagePicker.m	Thu Nov 14 19:46:43 2019 -0500
@@ -119,7 +119,7 @@
 
 	if (pictureTaker) {
 		[pictureTaker close];
-		[pictureTaker release], pictureTaker = nil;
+        [pictureTaker release]; pictureTaker = nil;
 	}
 	
 	delegate = nil;
@@ -144,7 +144,7 @@
 		[pictureTaker setInputImage:inImage];
 	}
 	
-	[activeRecentPicture release], activeRecentPicture = nil;
+    [activeRecentPicture release]; activeRecentPicture = nil;
 }
 
 /*!
@@ -515,8 +515,8 @@
 	[self showPictureTaker];
 }
 
-- (void)pictureTakerDidEnd:(id)inPictureTaker returnCode:(NSInteger)returnCode contextInfo:(void *)contextInfo
-{	
+- (void)pictureTakerDidEnd:(IKPictureTaker *)inPictureTaker returnCode:(NSInteger)returnCode contextInfo:(void *)contextInfo;
+{
 	if (returnCode == NSOKButton) {
 		NSImage *image = [inPictureTaker outputImage];
 		
diff -r 1894c44cfd13 -r e925d319c622 Frameworks/AIUtilities Framework/Source/AIKeychain.m
--- a/Frameworks/AIUtilities Framework/Source/AIKeychain.m	Mon Nov 04 10:23:55 2019 +0000
+++ b/Frameworks/AIUtilities Framework/Source/AIKeychain.m	Thu Nov 14 19:46:43 2019 -0500
@@ -317,7 +317,7 @@
 		}
 		
 		if (err != noErr) {
-			[self release], self = nil;
+			[self release]; self = nil;
 		}
 	}
 
diff -r 1894c44cfd13 -r e925d319c622 Frameworks/AIUtilities Framework/Source/AILinkTrackingController.m
--- a/Frameworks/AIUtilities Framework/Source/AILinkTrackingController.m	Mon Nov 04 10:23:55 2019 +0000
+++ b/Frameworks/AIUtilities Framework/Source/AILinkTrackingController.m	Thu Nov 14 19:46:43 2019 -0500
@@ -96,7 +96,7 @@
 //Called when the mouse leaves the link
 - (void)mouseExited:(NSEvent *)theEvent
 {
-    [self _setMouseOverLink:NO atPoint:NSMakePoint(0,0)];
+    [self _setMouseOverLink:nil atPoint:NSMakePoint(0,0)];
 }
 
 //Handle a mouse down.  Returns NO if the mouse down event should continue to be processed
@@ -108,7 +108,7 @@
     NSUInteger	charIndex;
     NSRectArray		linkRects = nil;
 	
-    [self _setMouseOverLink:NO atPoint:NSMakePoint(0,0)]; //Remove any tooltips
+    [self _setMouseOverLink:nil atPoint:NSMakePoint(0,0)]; //Remove any tooltips
 	
     //Find clicked char index
     mouseLoc = [controlView convertPoint:[theEvent locationInWindow] fromView:nil];
@@ -415,6 +415,7 @@
 {
     NSAttributedString *copyString = [[[NSAttributedString alloc] initWithString:[(NSURL *)[sender representedObject] absoluteString] attributes:nil] autorelease];
     [[NSPasteboard generalPasteboard] declareTypes:[NSArray arrayWithObject:NSRTFPboardType] owner:nil];
-    [[NSPasteboard generalPasteboard] setData:[copyString RTFFromRange:NSMakeRange(0,[copyString length]) documentAttributes:nil] forType:NSRTFPboardType];
+    [[NSPasteboard generalPasteboard] setData:[copyString RTFFromRange:NSMakeRange(0,[copyString length])
+                                                    documentAttributes:[NSDictionary dictionary]] forType:NSRTFPboardType];
 }
 @end
diff -r 1894c44cfd13 -r e925d319c622 Frameworks/AIUtilities Framework/Source/AIMutableOwnerArray.m
--- a/Frameworks/AIUtilities Framework/Source/AIMutableOwnerArray.m	Mon Nov 04 10:23:55 2019 +0000
+++ b/Frameworks/AIUtilities Framework/Source/AIMutableOwnerArray.m	Thu Nov 14 19:46:43 2019 -0500
@@ -57,7 +57,7 @@
 
 - (NSString *)description
 {
-	NSMutableString	*desc = [[NSMutableString alloc] initWithFormat:@"<%@: %x: ", NSStringFromClass([self class]), self];
+	NSMutableString	*desc = [[NSMutableString alloc] initWithFormat:@"<%@: %p: ", NSStringFromClass([self class]), self];
 	NSUInteger	i = 0;
 	
 	for (id object in self) {
diff -r 1894c44cfd13 -r e925d319c622 Frameworks/AIUtilities Framework/Source/AIRichTextCoercer.m
--- a/Frameworks/AIUtilities Framework/Source/AIRichTextCoercer.m	Mon Nov 04 10:23:55 2019 +0000
+++ b/Frameworks/AIUtilities Framework/Source/AIRichTextCoercer.m	Thu Nov 14 19:46:43 2019 -0500
@@ -55,9 +55,11 @@
 		}
 	}
 
+    /*
 	enum { RIGHTWARDS_ARROW = 0x2192 };
 	NSLog(@"%s: Input '%@' %C Class %@ %C Result '%@'", __PRETTY_FUNCTION__, input, RIGHTWARDS_ARROW, class, RIGHTWARDS_ARROW, result);
-
+     */
+    
 	return result;
 }
 + (id)coercePlainText:(NSString *)input toClass:(Class)class
diff -r 1894c44cfd13 -r e925d319c622 Frameworks/AIUtilities Framework/Source/AIRolloverButton.m
--- a/Frameworks/AIUtilities Framework/Source/AIRolloverButton.m	Mon Nov 04 10:23:55 2019 +0000
+++ b/Frameworks/AIUtilities Framework/Source/AIRolloverButton.m	Thu Nov 14 19:46:43 2019 -0500
@@ -122,7 +122,7 @@
 		BOOL	mouseInside = NSPointInRect(localPoint, myFrame);
 		
 		trackingTag = [self addTrackingRect:trackRect owner:self userData:nil assumeInside:mouseInside];
-		if (mouseInside) [self mouseEntered:nil];
+		if (mouseInside) [self mouseEntered:[[[NSEvent alloc] init] autorelease]];
 	}
 }
 
diff -r 1894c44cfd13 -r e925d319c622 Frameworks/AIUtilities Framework/Source/AIStringAdditions.m
--- a/Frameworks/AIUtilities Framework/Source/AIStringAdditions.m	Mon Nov 04 10:23:55 2019 +0000
+++ b/Frameworks/AIUtilities Framework/Source/AIStringAdditions.m	Thu Nov 14 19:46:43 2019 -0500
@@ -187,7 +187,7 @@
 
 	for (i = 0 ; i < length ; i++) {
 		/* Offset by the desired amount */
-		[newString appendFormat:@"%C",([self characterAtIndex:i] + offset)];
+		[newString appendFormat:@"%C",(unichar)([self characterAtIndex:i] + offset)];
 	}
 	
 	return newString;
@@ -756,7 +756,7 @@
 	//^-----^   <-Returns this substring. (Trailing zeroes are deleted.)
 	//42.000000
 	//^^        <-Returns this substring (everything before the decimal point) for a whole number.
-	NSString *format = numDigits ? [NSString stringWithFormat:@"%%.%uf", numDigits] : @"%f";
+	NSString *format = numDigits ? [NSString stringWithFormat:@"%%.%uf", (unsigned int)numDigits] : @"%f";
 	NSString *str = [NSString stringWithFormat:format, (double)f];
 	NSUInteger i = [str length];
 	while (i-- > 0) {
diff -r 1894c44cfd13 -r e925d319c622 Frameworks/AIUtilities Framework/Source/AISystemNetworkDefaults.m
--- a/Frameworks/AIUtilities Framework/Source/AISystemNetworkDefaults.m	Mon Nov 04 10:23:55 2019 +0000
+++ b/Frameworks/AIUtilities Framework/Source/AISystemNetworkDefaults.m	Thu Nov 14 19:46:43 2019 -0500
@@ -140,8 +140,8 @@
 						// Work around <rdar://problem/5530166>.  This dummy call to 
 						// CFNetworkCopyProxiesForURL initialise some state within CFNetwork 
 						// that is required by CFNetworkCopyProxiesForAutoConfigurationScript.
-						CFRelease(CFNetworkCopyProxiesForURL(url, NULL));
-						
+                        CFRelease(CFNetworkCopyProxiesForURL(url, (CFDictionaryRef)@{}));
+
 						CFErrorRef error = NULL;
 						proxies = [(NSArray *)CFNetworkCopyProxiesForAutoConfigurationScript((CFStringRef)scriptStr, url, &error) autorelease];	
 
diff -r 1894c44cfd13 -r e925d319c622 Frameworks/AIUtilities Framework/Source/AITableViewAdditions.m
--- a/Frameworks/AIUtilities Framework/Source/AITableViewAdditions.m	Mon Nov 04 10:23:55 2019 +0000
+++ b/Frameworks/AIUtilities Framework/Source/AITableViewAdditions.m	Thu Nov 14 19:46:43 2019 -0500
@@ -76,6 +76,7 @@
 
 @implementation AITableView
 
+
 /* 
  * @brief Load
  *
@@ -104,7 +105,8 @@
 			[(id <AITableViewDelegate>)[self delegate] tableViewDeleteSelectedRows:self]; //Delete the selection
 	} else {
 		//Pass the key event on to the unswizzled impl
-		method_invoke(self, class_getInstanceMethod([AITableView class], @selector(keyDown:)), theEvent);
+        static void (*_key_down_method_invoke)(id, Method, NSEvent *) = (void (*)(id, Method, NSEvent *)) method_invoke;
+		_key_down_method_invoke(self, class_getInstanceMethod([AITableView class], @selector(keyDown:)), theEvent);
 	}



More information about the commits mailing list