[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc
aroben at apple.com
aroben at apple.com
Wed Dec 22 13:17:42 UTC 2010
The following commit has been merged in the debian/experimental branch:
commit bf92439f3b474114f72fb7b6414422da7a412d58
Author: aroben at apple.com <aroben at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Fri Sep 10 15:50:43 2010 +0000
Don't crash when a frame is destroyed after the UI process has disconnected
Fixes <http://webkit.org/b/45535> <rdar://problem/8412928> Crash in
WebProcess::removeWebFrame on exit with WebKit2 (Release builds only)
Reviewed by Darin Adler.
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::removeWebFrame): Null-check m_connection before
dereferencing it.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@67202 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebKit2/ChangeLog b/WebKit2/ChangeLog
index cd8bb79..5fde4e5 100644
--- a/WebKit2/ChangeLog
+++ b/WebKit2/ChangeLog
@@ -1,3 +1,17 @@
+2010-09-10 Adam Roben <aroben at apple.com>
+
+ Don't crash when a frame is destroyed after the UI process has
+ disconnected
+
+ Fixes <http://webkit.org/b/45535> <rdar://problem/8412928> Crash in
+ WebProcess::removeWebFrame on exit with WebKit2 (Release builds only)
+
+ Reviewed by Darin Adler.
+
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::removeWebFrame): Null-check m_connection before
+ dereferencing it.
+
2010-09-09 Simon Fraser <simon.fraser at apple.com>
Reviewed by Adam Roben.
diff --git a/WebKit2/WebProcess/WebProcess.cpp b/WebKit2/WebProcess/WebProcess.cpp
index 2c93ffd..ffc6d17 100644
--- a/WebKit2/WebProcess/WebProcess.cpp
+++ b/WebKit2/WebProcess/WebProcess.cpp
@@ -392,6 +392,12 @@ void WebProcess::addWebFrame(uint64_t frameID, WebFrame* frame)
void WebProcess::removeWebFrame(uint64_t frameID)
{
m_frameMap.remove(frameID);
+
+ // We can end up here after our connection has closed when WebCore's frame life-support timer
+ // fires when the application is shutting down. There's no need (and no way) to update the UI
+ // process in this case.
+ if (!m_connection)
+ return;
m_connection->send(WebProcessProxyMessage::DidDestroyFrame, 0, CoreIPC::In(frameID));
}
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list