Index: /releases/ICeCoffEE/1.4.4b1/ICeCoffEE/English.lproj/Localizable.strings
===================================================================
--- /releases/ICeCoffEE/1.4.4b1/ICeCoffEE/English.lproj/Localizable.strings	(revision 335)
+++ /releases/ICeCoffEE/1.4.4b1/ICeCoffEE/English.lproj/Localizable.strings	(revision 336)
@@ -44,5 +44,5 @@
 /* Session disable alert */
 "DisableAlertTitle" = "Disable ICeCoffEE";
-"DisableAlertMessage%@" = "If you believe ICeCoffEE is interfering with the normal functioning of the application “%@”, you can turn it off in this application until the application has quit.\n\nIf this is the first time you have experienced this problem, please email icecoffee@sabi.net with the details of the conflict.\n\nTo disable ICeCoffEE permanently, use the APE Manager pane of System Preferences.";
+"DisableAlertMessage%@" = "If you believe ICeCoffEE is interfering with the normal functioning of the application “%@”, you can turn it off in this application until the application has quit.\n\nIf this is the first time you have experienced this problem, please email icecoffee@sabi.net with the details of the conflict.\n\nTo disable ICeCoffEE permanently, use the Application Enhancer pane of System Preferences.";
 "DisableAlertDisableButton" = "Disable";
 "DisableAlertDontDisableButton" = "Don’t Disable";
Index: /releases/ICeCoffEE/1.4.4b1/ICeCoffEE/ICeCoffEE.xcodeproj/project.pbxproj
===================================================================
--- /releases/ICeCoffEE/1.4.4b1/ICeCoffEE/ICeCoffEE.xcodeproj/project.pbxproj	(revision 335)
+++ /releases/ICeCoffEE/1.4.4b1/ICeCoffEE/ICeCoffEE.xcodeproj/project.pbxproj	(revision 336)
@@ -223,5 +223,5 @@
 		E1ABAED40812F4B2007C5427 /* Info-APEManagerPrefPane.plist */ = {isa = PBXFileReference; lastKnownFileType = text.xml; path = "Info-APEManagerPrefPane.plist"; sourceTree = "<group>"; };
 		E1ABAED50812F4B2007C5427 /* APEManagerPrefPane.plugin */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = APEManagerPrefPane.plugin; sourceTree = BUILT_PRODUCTS_DIR; };
-		E1ABAEDF0812F4B2007C5427 /* ICFindFilesToRemove */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = ICFindFilesToRemove; sourceTree = BUILT_PRODUCTS_DIR; };
+		E1ABAEDF0812F4B2007C5427 /* ICFindFilesToRemove */ = {isa = PBXFileReference; includeInIndex = 0; lastKnownFileType = "compiled.mach-o.executable"; path = ICFindFilesToRemove; sourceTree = BUILT_PRODUCTS_DIR; };
 		E1ABAEF00812F4B3007C5427 /* Info-ICeCoffEE Installer.plist */ = {isa = PBXFileReference; lastKnownFileType = text.xml; path = "Info-ICeCoffEE Installer.plist"; sourceTree = "<group>"; };
 		E1BB268F03DB74B700050002 /* ICeCoffEEMenuOnly.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ICeCoffEEMenuOnly.h; sourceTree = "<group>"; };
@@ -232,5 +232,5 @@
 		E1BF15A403DBAA5600050002 /* KillPrefpanesCache.sh */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.script.sh; path = KillPrefpanesCache.sh; sourceTree = "<group>"; };
 		E1BF15A503DBAA5600050002 /* ui.plist */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.plist; path = ui.plist; sourceTree = "<group>"; };
-		E1BF15BD03DBBD3E00050002 /* package-ICeCoffEE.sh */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.script.sh; name = "package-ICeCoffEE.sh"; path = "/Users/nicholas/Documents/Development/ICeCoffEE/package-ICeCoffEE.sh"; sourceTree = "<absolute>"; };
+		E1BF15BD03DBBD3E00050002 /* package-ICeCoffEE.sh */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.script.sh; name = "package-ICeCoffEE.sh"; path = "../package-ICeCoffEE.sh"; sourceTree = SOURCE_ROOT; };
 		E1BF15BF03DBBE8900050002 /* VERSION */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = VERSION; sourceTree = "<group>"; };
 		E1BF166A03DBE27000050002 /* ICeCoffEEWebKit.m */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.c.objc; path = ICeCoffEEWebKit.m; sourceTree = "<group>"; tabWidth = 8; usesTabs = 1; };
@@ -238,5 +238,4 @@
 		E1BF166C03DBE27000050002 /* ICeCoffEEWebKitSuper.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = ICeCoffEEWebKitSuper.m; sourceTree = "<group>"; };
 		E1BF166D03DBE27000050002 /* ICeCoffEEWebKit.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ICeCoffEEWebKit.h; sourceTree = "<group>"; };
-		E1BF167203DBEAA000050002 /* WebCoreBridge.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = WebCoreBridge.h; sourceTree = "<group>"; };
 		E1BF4A4D0487C77C00C20906 /* German */ = {isa = PBXFileReference; lastKnownFileType = wrapper.rtfd; name = German; path = German.lproj/APEInfo.rtfd; sourceTree = "<group>"; };
 		E1BF4A500487C7B300C20906 /* German */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = German; path = "German.lproj/APE Manager plugin.nib"; sourceTree = "<group>"; };
@@ -438,5 +437,4 @@
 				E1BB269303DB74C200050002 /* ICeCoffEEMenuSuper.h */,
 				E1BB269403DB74C200050002 /* ICeCoffEEMenuSuper.m */,
-				E1BF167203DBEAA000050002 /* WebCoreBridge.h */,
 				E1BF166D03DBE27000050002 /* ICeCoffEEWebKit.h */,
 				E1BF166A03DBE27000050002 /* ICeCoffEEWebKit.m */,
Index: /releases/ICeCoffEE/1.4.4b1/ICeCoffEE/ICeCoffEEServicePrefController.m
===================================================================
--- /releases/ICeCoffEE/1.4.4b1/ICeCoffEE/ICeCoffEEServicePrefController.m	(revision 335)
+++ /releases/ICeCoffEE/1.4.4b1/ICeCoffEE/ICeCoffEEServicePrefController.m	(revision 336)
@@ -257,5 +257,4 @@
         return (state == nil) ? ICCF_SERVICE_SHOWN : state;
     } else if ([[tableColumn identifier] isEqualToString: @"key"]) {
-        [item setKeyEquivalent: @"#"];
         NSString *equivalent = [item keyEquivalent];
         if (equivalent == nil || [equivalent length] != 1) return nil;
Index: /releases/ICeCoffEE/1.4.4b1/ICeCoffEE/ICeCoffEEWebKit.m
===================================================================
--- /releases/ICeCoffEE/1.4.4b1/ICeCoffEE/ICeCoffEEWebKit.m	(revision 335)
+++ /releases/ICeCoffEE/1.4.4b1/ICeCoffEE/ICeCoffEEWebKit.m	(revision 336)
@@ -10,12 +10,11 @@
 #import <unistd.h>
 
-// from WebCoreBridge.h
+// WebCoreBridge, from WebCoreBridge.h (Safari 2)
+// Web(Core)FrameBridge, from WebCoreFrameBridge.h (Safari 3)
 @interface WebCoreBridge : NSObject
 
-- (NSString *)selectedString;
-- (NSRect)selectionRect;
+- (NSString *)selectedString; // public
 
-- (void)selectNSRange:(NSRange)range;
-- (void)deselectAll;
+- (void)selectNSRange:(NSRange)range; // private, Safari 2 & 3
 
 @end
@@ -24,9 +23,17 @@
 @interface WebHTMLView : NSObject
 
-- (WebCoreBridge *)_bridge;
+- (WebCoreBridge *)_bridge; // private, in Safari 2 & 3; WebFrameBridge in Safari 3 (see above)
 
-- (NSRange)selectedRange;
+- (NSRange)selectedRange; // WebNSTextInputSupport, Safari 2 & 3
 
-- (NSDictionary *)elementAtPoint:(NSPoint)point;
+- (NSRect)selectionRect; // Safari 3 only
+- (NSRect)_selectionRect; // Safari 2, supported in Safari 3 only for use with Mail
+// (see <http://trac.webkit.org/projects/webkit/browser/trunk/WebKit/WebView/WebHTMLView.mm?rev=25024#L1430>)
+
+- (void)drawSingleRect:(NSRect)rect;
+
+- (void)deselectAll; // Safari 2 & 3
+
+- (NSDictionary *)elementAtPoint:(NSPoint)point; // private, Safari 2 & 3
 
 @end
@@ -91,8 +98,12 @@
 	    if (ICCF_LaunchURL(selectedString, ICCF_KeyboardAction(downEvent)) && ICCF_prefs.textBlinkEnabled && canSetSelection) {
 		int i;
-		NSRect selectionRect = [bridge selectionRect];
+		NSRect selectionRect;
+		if ([self respondsToSelector: @selector(selectionRect)])
+		    selectionRect = [(WebHTMLView *)self selectionRect];
+		else if ([self respondsToSelector: @selector(_selectionRect)])
+		    selectionRect = [(WebHTMLView *)self _selectionRect];
 		ICLog(@"selectedRange %@ selectionRect %@ textBlinkCount %d", NSStringFromRange(selectedRange), NSStringFromRect(selectionRect), ICCF_prefs.textBlinkCount);
 		for (i = 0 ; i < ICCF_prefs.textBlinkCount ; i++) {
-		    [bridge deselectAll];
+		    [(WebHTMLView *)self deselectAll];
 		    [self setNeedsDisplayInRect: selectionRect];
 		    [self display];
Index: /releases/ICeCoffEE/1.4.4b1/ICeCoffEE/Info-APE Module.plist
===================================================================
--- /releases/ICeCoffEE/1.4.4b1/ICeCoffEE/Info-APE Module.plist	(revision 335)
+++ /releases/ICeCoffEE/1.4.4b1/ICeCoffEE/Info-APE Module.plist	(revision 336)
@@ -33,5 +33,5 @@
 	<string>ICCF</string>
 	<key>CFBundleVersion</key>
-	<string>1.4.3</string>
+	<string>1.4.4b1</string>
 </dict>
 </plist>
Index: /releases/ICeCoffEE/1.4.4b1/ICeCoffEE/Info-APEManagerPrefPane.plist
===================================================================
--- /releases/ICeCoffEE/1.4.4b1/ICeCoffEE/Info-APEManagerPrefPane.plist	(revision 335)
+++ /releases/ICeCoffEE/1.4.4b1/ICeCoffEE/Info-APEManagerPrefPane.plist	(revision 336)
@@ -24,5 +24,5 @@
 	<string>????</string>
 	<key>CFBundleVersion</key>
-	<string>1.4.3</string>
+	<string>1.4.4b1</string>
 	<key>NSMainNibFile</key>
 	<string>APE Manager plugin</string>
Index: /releases/ICeCoffEE/1.4.4b1/ICeCoffEE/Installer components/ui/ui.plist
===================================================================
--- /releases/ICeCoffEE/1.4.4b1/ICeCoffEE/Installer components/ui/ui.plist	(revision 335)
+++ /releases/ICeCoffEE/1.4.4b1/ICeCoffEE/Installer components/ui/ui.plist	(revision 336)
@@ -39,9 +39,9 @@
 	<string>ICeCoffEE</string>
 	<key>ProductNumVersion</key>
-	<integer>21200896</integer>
+	<integer>21258241</integer>
 	<key>ProductType</key>
 	<string>Preference Pane</string>
 	<key>ProductVersion</key>
-	<string>1.4.3</string>
+	<string>1.4.4b1</string>
 	<key>UIPlugin</key>
 	<string>UI_SCRInstall.plugin</string>
Index: /releases/ICeCoffEE/1.4.4b1/ICeCoffEE/VERSION
===================================================================
--- /releases/ICeCoffEE/1.4.4b1/ICeCoffEE/VERSION	(revision 335)
+++ /releases/ICeCoffEE/1.4.4b1/ICeCoffEE/VERSION	(revision 336)
@@ -1,1 +1,1 @@
-1.4.3
+1.4.4b1
