[SCM] WebKit Debian packaging branch, debian/unstable, updated. debian/1.1.15-1-40151-g37bb677

rjw rjw at 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Sat Sep 26 07:33:32 UTC 2009


The following commit has been merged in the debian/unstable branch:
commit a0a6d43823b338a2d69cf6b71c354f487001c988
Author: rjw <rjw at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Thu Apr 3 00:37:09 2003 +0000

            Fix for 3200447.  Use class_pose to pose so as to avoid
            indirect invocation of appkit class initializers.
    
            Reviewed by darin.
    
            * WebView.subproj/WebHTMLViewPrivate.m:
            (+[WebHTMLView load]):
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@4003 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebKit/ChangeLog b/WebKit/ChangeLog
index 9e3b23f..07e7c9c 100644
--- a/WebKit/ChangeLog
+++ b/WebKit/ChangeLog
@@ -1,5 +1,15 @@
 2003-04-02  Richard Williamson  <rjw at apple.com>
 
+        Fix for 3200447.  Use class_pose to pose so as to avoid
+        indirect invocation of appkit class initializers.
+        
+        Reviewed by darin.
+
+        * WebView.subproj/WebHTMLViewPrivate.m:
+        (+[WebHTMLView load]):
+
+2003-04-02  Richard Williamson  <rjw at apple.com>
+
         Removed private headers.
         
         Reviewed by john.
diff --git a/WebKit/WebView.subproj/WebHTMLViewPrivate.m b/WebKit/WebView.subproj/WebHTMLViewPrivate.m
index bcb7f55..536c1fa 100644
--- a/WebKit/WebView.subproj/WebHTMLViewPrivate.m
+++ b/WebKit/WebView.subproj/WebHTMLViewPrivate.m
@@ -31,6 +31,9 @@
 #import <WebKit/WebViewPrivate.h>
 #import <WebKit/WebWindowOperationsDelegate.h>
 
+// Imported for direct call to class_poseAs.  Should be removed
+// if we ever drop posing hacks.
+#import <objc/objc-class.h>
 
 // These are a little larger than typical because dragging links is a fairly
 // advanced feature that can confuse non-power-users
@@ -107,9 +110,14 @@ static BOOL forceRealHitTest = NO;
 + (void)load
 {
     NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
-    [[WebNSView class] poseAsClass:[NSView class]];
-    [[WebNSTextView class] poseAsClass:[NSTextView class]];
-    [[WebNSWindow class] poseAsClass:[NSWindow class]];
+    
+    // Avoid indirect invocation of any class initializers.  This is a work-around to prevent
+    // the +initializers being called before the REQUIRED AppKit initialization
+    // that's done in +[NSApplication load].
+    class_poseAs(NSClassFromString(@"WebNSView"), NSClassFromString(@"NSView"));
+    class_poseAs(NSClassFromString(@"WebNSTextView"), NSClassFromString(@"NSTextView"));
+    class_poseAs(NSClassFromString(@"WebNSWindow"), NSClassFromString(@"NSWindow"));
+
     [pool release];
 }
 

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list