[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 05:55:40 UTC 2009
The following commit has been merged in the debian/unstable branch:
commit 99a7338ab6272bfecd99568bd495464541138d3a
Author: rjw <rjw at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Thu Feb 14 03:18:33 2002 +0000
Fixed cleanup problem.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@620 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebKit/ChangeLog b/WebKit/ChangeLog
index 5828ee4..af1a206 100644
--- a/WebKit/ChangeLog
+++ b/WebKit/ChangeLog
@@ -1,3 +1,14 @@
+2002-02-13 Richard Williamson <rjw at apple.com>
+
+ Fixed cleanup. Should revisit ownership graph. Cycles may be avoidable.
+
+ * WebView.subproj/IFBaseWebControllerPrivate.mm: (-[IFBaseWebControllerPrivate
+ dealloc]):
+ * WebView.subproj/IFWebDataSource.mm: (-[IFWebDataSource setFrame:]):
+ * WebView.subproj/IFWebFrame.m: (-[IFWebFrame reset]):
+ * WebView.subproj/IFWebViewPrivate.h:
+ * WebView.subproj/IFWebViewPrivate.mm: (-[IFWebView _resetWidget]):
+
2002-02-12 Richard Williamson <rjw at apple.com>
Made basic forms work.
diff --git a/WebKit/ChangeLog-2002-12-03 b/WebKit/ChangeLog-2002-12-03
index 5828ee4..af1a206 100644
--- a/WebKit/ChangeLog-2002-12-03
+++ b/WebKit/ChangeLog-2002-12-03
@@ -1,3 +1,14 @@
+2002-02-13 Richard Williamson <rjw at apple.com>
+
+ Fixed cleanup. Should revisit ownership graph. Cycles may be avoidable.
+
+ * WebView.subproj/IFBaseWebControllerPrivate.mm: (-[IFBaseWebControllerPrivate
+ dealloc]):
+ * WebView.subproj/IFWebDataSource.mm: (-[IFWebDataSource setFrame:]):
+ * WebView.subproj/IFWebFrame.m: (-[IFWebFrame reset]):
+ * WebView.subproj/IFWebViewPrivate.h:
+ * WebView.subproj/IFWebViewPrivate.mm: (-[IFWebView _resetWidget]):
+
2002-02-12 Richard Williamson <rjw at apple.com>
Made basic forms work.
diff --git a/WebKit/WebView.subproj/IFBaseWebControllerPrivate.mm b/WebKit/WebView.subproj/IFBaseWebControllerPrivate.mm
index 6df308a..0a3397b 100644
--- a/WebKit/WebView.subproj/IFBaseWebControllerPrivate.mm
+++ b/WebKit/WebView.subproj/IFBaseWebControllerPrivate.mm
@@ -17,6 +17,7 @@
- (void)dealloc
{
+ [mainFrame reset];
[mainFrame autorelease];
[super dealloc];
}
diff --git a/WebKit/WebView.subproj/IFWebDataSource.mm b/WebKit/WebView.subproj/IFWebDataSource.mm
index 7cefd1f..dbacff6 100644
--- a/WebKit/WebView.subproj/IFWebDataSource.mm
+++ b/WebKit/WebView.subproj/IFWebDataSource.mm
@@ -64,6 +64,7 @@
- (void)setFrame: (IFWebFrame *)f
{
+ // Careful, there is a cycle between IFWebFrame and IFWebDataSource.
if (((IFWebDataSourcePrivate *)_dataSourcePrivate)->frame == f)
return;
diff --git a/WebKit/WebView.subproj/IFWebFrame.m b/WebKit/WebView.subproj/IFWebFrame.m
index a86af55..6da8a4f 100644
--- a/WebKit/WebView.subproj/IFWebFrame.m
+++ b/WebKit/WebView.subproj/IFWebFrame.m
@@ -75,11 +75,13 @@
[[data dataSource] setFrame: self];
}
-// Required to break retain cycle between frame and data source.
+// Required to break retain cycle between frame and data source,
+// and also release the widget's view reference.
- (void)reset
{
IFWebFramePrivate *data = (IFWebFramePrivate *)_framePrivate;
[data setDataSource: nil];
+ [[data view] _resetWidget];
[data setView: nil];
}
diff --git a/WebKit/WebView.subproj/IFWebViewPrivate.h b/WebKit/WebView.subproj/IFWebViewPrivate.h
index 00eed0e..f134132 100644
--- a/WebKit/WebView.subproj/IFWebViewPrivate.h
+++ b/WebKit/WebView.subproj/IFWebViewPrivate.h
@@ -29,6 +29,7 @@ class KHTMLView;
@interface IFWebView (IFPrivate)
- (void)_setController: (id <IFWebController>)controller;
- (void)_resetView;
+- (void)_resetWidget;
- (KHTMLView *)_widget;
- (void)_setFrameScrollView: (IFDynamicScrollBarsView *)sv;
- (IFDynamicScrollBarsView *)_frameScrollView;
diff --git a/WebKit/WebView.subproj/IFWebViewPrivate.mm b/WebKit/WebView.subproj/IFWebViewPrivate.mm
index 038766f..6060aad 100644
--- a/WebKit/WebView.subproj/IFWebViewPrivate.mm
+++ b/WebKit/WebView.subproj/IFWebViewPrivate.mm
@@ -44,6 +44,13 @@
@implementation IFWebView (IFPrivate)
+- (void)_resetWidget
+{
+ if (((IFWebViewPrivate *)_viewPrivate)->widget)
+ delete ((IFWebViewPrivate *)_viewPrivate)->widget;
+ ((IFWebViewPrivate *)_viewPrivate)->widget = 0;
+}
+
- (void)_resetView
{
NSArray *views = [self subviews];
diff --git a/WebKit/WebView.subproj/WebDataSource.m b/WebKit/WebView.subproj/WebDataSource.m
index 7cefd1f..dbacff6 100644
--- a/WebKit/WebView.subproj/WebDataSource.m
+++ b/WebKit/WebView.subproj/WebDataSource.m
@@ -64,6 +64,7 @@
- (void)setFrame: (IFWebFrame *)f
{
+ // Careful, there is a cycle between IFWebFrame and IFWebDataSource.
if (((IFWebDataSourcePrivate *)_dataSourcePrivate)->frame == f)
return;
diff --git a/WebKit/WebView.subproj/WebFrameViewInternal.h b/WebKit/WebView.subproj/WebFrameViewInternal.h
index 00eed0e..f134132 100644
--- a/WebKit/WebView.subproj/WebFrameViewInternal.h
+++ b/WebKit/WebView.subproj/WebFrameViewInternal.h
@@ -29,6 +29,7 @@ class KHTMLView;
@interface IFWebView (IFPrivate)
- (void)_setController: (id <IFWebController>)controller;
- (void)_resetView;
+- (void)_resetWidget;
- (KHTMLView *)_widget;
- (void)_setFrameScrollView: (IFDynamicScrollBarsView *)sv;
- (IFDynamicScrollBarsView *)_frameScrollView;
diff --git a/WebKit/WebView.subproj/WebFrameViewPrivate.h b/WebKit/WebView.subproj/WebFrameViewPrivate.h
index 00eed0e..f134132 100644
--- a/WebKit/WebView.subproj/WebFrameViewPrivate.h
+++ b/WebKit/WebView.subproj/WebFrameViewPrivate.h
@@ -29,6 +29,7 @@ class KHTMLView;
@interface IFWebView (IFPrivate)
- (void)_setController: (id <IFWebController>)controller;
- (void)_resetView;
+- (void)_resetWidget;
- (KHTMLView *)_widget;
- (void)_setFrameScrollView: (IFDynamicScrollBarsView *)sv;
- (IFDynamicScrollBarsView *)_frameScrollView;
diff --git a/WebKit/WebView.subproj/WebFrameViewPrivate.m b/WebKit/WebView.subproj/WebFrameViewPrivate.m
index 038766f..6060aad 100644
--- a/WebKit/WebView.subproj/WebFrameViewPrivate.m
+++ b/WebKit/WebView.subproj/WebFrameViewPrivate.m
@@ -44,6 +44,13 @@
@implementation IFWebView (IFPrivate)
+- (void)_resetWidget
+{
+ if (((IFWebViewPrivate *)_viewPrivate)->widget)
+ delete ((IFWebViewPrivate *)_viewPrivate)->widget;
+ ((IFWebViewPrivate *)_viewPrivate)->widget = 0;
+}
+
- (void)_resetView
{
NSArray *views = [self subviews];
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list