From 0409857f8ff1b140733537db4bf56ccc663318e7 Mon Sep 17 00:00:00 2001 From: Andrei Popescu Date: Tue, 9 Mar 2010 12:23:19 +0000 Subject: Make sure access to WebView::mWebViewCore is synchronized. Fix bug: 2498784 --- core/java/android/webkit/WebView.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'core/java/android/webkit/WebView.java') 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; } -- cgit v1.2.3