summaryrefslogtreecommitdiffstats
path: root/core/java/android/view/ViewRootImpl.java
diff options
context:
space:
mode:
authorRomain Guy <romainguy@google.com>2012-06-11 13:24:30 -0700
committerRomain Guy <romainguy@google.com>2012-06-11 13:24:30 -0700
commit527ee91b60426b5a344e9905c7f9a14d6d26219e (patch)
treef8e3f6a4d12f77eb8ad7201d1728c9066b023058 /core/java/android/view/ViewRootImpl.java
parenta7e3a1e0e7d308e7e78a1992038a34485d04ab29 (diff)
downloadframeworks_base-527ee91b60426b5a344e9905c7f9a14d6d26219e.zip
frameworks_base-527ee91b60426b5a344e9905c7f9a14d6d26219e.tar.gz
frameworks_base-527ee91b60426b5a344e9905c7f9a14d6d26219e.tar.bz2
Prevent crash in WebView when disabling the hw renderer
Bug #6596807 A crash would occur in the following situation: - WebView registers a functor with the hardware renderer - The hardware renderer gets disabled - WebView attemps to unregister its functor Unregistering the functor fails because the hardware renderer is now disabled. When the renderer becomes enabled again, the functor is invoked, which leads to a native crash. This change simply allows functors to always be unregistered, even when the renderer is disabled. A disabled renderer only means that it will not be used for rendering; as such, unregistering a functor is a valid operation and should be allowed. Change-Id: I0ff897a0cca7e048c609033215cd0f7f5c940bcc
Diffstat (limited to 'core/java/android/view/ViewRootImpl.java')
-rw-r--r--core/java/android/view/ViewRootImpl.java3
1 files changed, 2 insertions, 1 deletions
diff --git a/core/java/android/view/ViewRootImpl.java b/core/java/android/view/ViewRootImpl.java
index b5fff8a..7eeb6d0 100644
--- a/core/java/android/view/ViewRootImpl.java
+++ b/core/java/android/view/ViewRootImpl.java
@@ -671,6 +671,7 @@ public final class ViewRootImpl implements ViewParent,
}
public boolean attachFunctor(int functor) {
+ //noinspection SimplifiableIfStatement
if (mAttachInfo.mHardwareRenderer != null && mAttachInfo.mHardwareRenderer.isEnabled()) {
return mAttachInfo.mHardwareRenderer.attachFunctor(mAttachInfo, functor);
}
@@ -678,7 +679,7 @@ public final class ViewRootImpl implements ViewParent,
}
public void detachFunctor(int functor) {
- if (mAttachInfo.mHardwareRenderer != null && mAttachInfo.mHardwareRenderer.isEnabled()) {
+ if (mAttachInfo.mHardwareRenderer != null) {
mAttachInfo.mHardwareRenderer.detachFunctor(functor);
}
}