Reviewed by Tim Hatcher.
[WebKit-https.git] / WebKit / mac / WebView / WebView.mm
index f5285f4..6ee9e8b 100644 (file)
@@ -4103,7 +4103,11 @@ static NSString *createMacOSXVersionString()
 
 - (NSString *)_userAgentWithApplicationName:(NSString *)applicationName andWebKitVersion:(NSString *)version
 {
-    static NSString *osVersion = createMacOSXVersionString();
+    // Note: Do *not* move the initialization of osVersion into the declaration.
+    // Garbage collection won't correctly mark the global variable in that case <rdar://problem/5733674>.
+    static NSString *osVersion;
+    if (!osVersion)
+        version = createMacOSXVersionString();
     NSString *language = [NSUserDefaults _webkit_preferredLanguageCode];
     if ([applicationName length])
         return [NSString stringWithFormat:@"Mozilla/5.0 (Macintosh; U; " PROCESSOR " Mac OS X %@; %@) AppleWebKit/%@ (KHTML, like Gecko) %@",