diff options
| author | Andrei Popescu <andreip@google.com> | 2010-03-09 12:23:19 +0000 |
|---|---|---|
| committer | Andrei Popescu <andreip@google.com> | 2010-03-09 18:04:35 +0000 |
| commit | 0409857f8ff1b140733537db4bf56ccc663318e7 (patch) | |
| tree | 55d0c175ad42584cc7cbaff69ac53fd8b83571c8 /core/java/android/webkit/WebView.java | |
| parent | abf19abe4808114cae3f274773a267603f18c923 (diff) | |
Make sure access to WebView::mWebViewCore is synchronized.
Fix bug: 2498784
Diffstat (limited to 'core/java/android/webkit/WebView.java')
| -rw-r--r-- | core/java/android/webkit/WebView.java | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/core/java/android/webkit/WebView.java b/core/java/android/webkit/WebView.java index 6079a376413d..e81fec460322 100644 --- a/core/java/android/webkit/WebView.java +++ b/core/java/android/webkit/WebView.java @@ -1125,9 +1125,11 @@ public class WebView extends AbsoluteLayout mCallbackProxy.setWebViewClient(null); mCallbackProxy.setWebChromeClient(null); // Tell WebViewCore to destroy itself - WebViewCore webViewCore = mWebViewCore; - mWebViewCore = null; // prevent using partial webViewCore - webViewCore.destroy(); + synchronized (this) { + WebViewCore webViewCore = mWebViewCore; + mWebViewCore = null; // prevent using partial webViewCore + webViewCore.destroy(); + } // Remove any pending messages that might not be serviced yet. mPrivateHandler.removeCallbacksAndMessages(null); mCallbackProxy.removeCallbacksAndMessages(null); @@ -5842,7 +5844,7 @@ public class WebView extends AbsoluteLayout cursorData(), 1000); } - /* package */ WebViewCore getWebViewCore() { + /* package */ synchronized WebViewCore getWebViewCore() { return mWebViewCore; } |
