diff options
author | John Reck <jreck@google.com> | 2011-09-01 11:39:37 -0700 |
---|---|---|
committer | John Reck <jreck@google.com> | 2011-09-01 11:39:37 -0700 |
commit | 90afe21dbb3cbed56a67e17b2260622e501255ea (patch) | |
tree | 43080d20d4e6c593ed16d0f516e3e6da76b00125 /core | |
parent | 6c859576ad5ae5e870e3e96b650f015024b6c49e (diff) | |
download | frameworks_base-90afe21dbb3cbed56a67e17b2260622e501255ea.zip frameworks_base-90afe21dbb3cbed56a67e17b2260622e501255ea.tar.gz frameworks_base-90afe21dbb3cbed56a67e17b2260622e501255ea.tar.bz2 |
Prevent serialization after being destroyed
Bug: 5246900
Change-Id: Ic0be139b26e1b52203b8d0286c12175df6a1a46c
Diffstat (limited to 'core')
-rw-r--r-- | core/java/android/webkit/ViewStateSerializer.java | 6 | ||||
-rw-r--r-- | core/java/android/webkit/WebView.java | 3 |
2 files changed, 8 insertions, 1 deletions
diff --git a/core/java/android/webkit/ViewStateSerializer.java b/core/java/android/webkit/ViewStateSerializer.java index 0fc76fa..5f91ed3 100644 --- a/core/java/android/webkit/ViewStateSerializer.java +++ b/core/java/android/webkit/ViewStateSerializer.java @@ -36,11 +36,15 @@ class ViewStateSerializer { static boolean serializeViewState(OutputStream stream, WebView web) throws IOException { + int baseLayer = web.getBaseLayer(); + if (baseLayer == 0) { + return false; + } DataOutputStream dos = new DataOutputStream(stream); dos.writeInt(VERSION); dos.writeInt(web.getContentWidth()); dos.writeInt(web.getContentHeight()); - return nativeSerializeViewState(web.getBaseLayer(), dos, + return nativeSerializeViewState(baseLayer, dos, new byte[WORKING_STREAM_STORAGE]); } diff --git a/core/java/android/webkit/WebView.java b/core/java/android/webkit/WebView.java index 5200b12..230234a 100644 --- a/core/java/android/webkit/WebView.java +++ b/core/java/android/webkit/WebView.java @@ -4311,6 +4311,9 @@ public class WebView extends AbsoluteLayout } int getBaseLayer() { + if (mNativeClass == 0) { + return 0; + } return nativeGetBaseLayer(); } |