2007-06-26 Jim Correia <jim.correia@pobox.com>
authorbdash <bdash@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 27 Jun 2007 03:13:26 +0000 (03:13 +0000)
committerbdash <bdash@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 27 Jun 2007 03:13:26 +0000 (03:13 +0000)
        Reviewed by Darin.

        Fix http://bugs.webkit.org/show_bug.cgi?id=14411
        Bug 14411: WebNetscapePluginPackage overagressively sets CurApRefNum, which affects shipping versions of BBEdit.
        <rdar://problem/5297268>

        * Plugins/WebNetscapePluginPackage.m:
        (+[WebNetscapePluginPackage initialize]): Force the Resource Manager to
        lazy initialize, and only set CurApRefNum to the system file if
        CurApRefNum is still -1 after that forced lazy initialization.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@23805 268f45cc-cd09-0410-ab3c-d52691b4dbfc

WebKit/ChangeLog
WebKit/Plugins/WebNetscapePluginPackage.m

index 900b42a..f901ec7 100644 (file)
@@ -1,3 +1,16 @@
+2007-06-26  Jim Correia  <jim.correia@pobox.com>
+
+        Reviewed by Darin.
+
+        Fix http://bugs.webkit.org/show_bug.cgi?id=14411
+        Bug 14411: WebNetscapePluginPackage overagressively sets CurApRefNum, which affects shipping versions of BBEdit.
+        <rdar://problem/5297268>
+
+        * Plugins/WebNetscapePluginPackage.m:
+        (+[WebNetscapePluginPackage initialize]): Force the Resource Manager to
+        lazy initialize, and only set CurApRefNum to the system file if
+        CurApRefNum is still -1 after that forced lazy initialization.
+
 2007-06-25  Kevin Decker  <kdecker@apple.com>
 
         Reviewed by Darin.
index 5686596..05cc01e 100644 (file)
@@ -61,6 +61,16 @@ static TransitionVector tVectorForFunctionPointer(FunctionPointer);
     // But it doesn't seem to matter what file it is.
     // If we're called inside a Cocoa application which won't have a
     // CurApRefNum, we set it to point to the system resource file.
+
+    // Call CurResFile before testing the result of WebLMGetCurApRefNum.
+    // If we are called before the bundle resource map has been opened
+    // for a Carbon application (or a Cocoa app with Resource Manager
+    // resources) we *do not* want to set CurApRefNum to point at the
+    // system resource file. CurResFile triggers Resource Manager lazy
+    // initialization, and will open the bundle resource map as necessary.
+
+    CurResFile();
+
     if (WebLMGetCurApRefNum() == -1) {
         // To get the refNum for the system resource file, we have to do
         // UseResFile(kSystemResFile) and then look at CurResFile().