[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