diff options
| author | 2011-08-26 13:37:35 -0700 | |
|---|---|---|
| committer | 2011-08-26 13:37:35 -0700 | |
| commit | 80122c2a7a2cb25dbd80b3d193cbf593c0589e12 (patch) | |
| tree | 1841d1f6f95060fdc23e8fad8b51d9307efbc4ec | |
| parent | 87a4d87ecf156affc23a5e2591d28ff5d5986fe0 (diff) | |
| parent | eca9b1f53c2c291cbfb89b5f3cc45db7bdca6c7d (diff) | |
Merge "Prevent crash in VPN settings Bug #5217245"
| -rw-r--r-- | core/java/android/view/HardwareRenderer.java | 7 | ||||
| -rw-r--r-- | core/java/android/view/ViewRootImpl.java | 2 |
2 files changed, 5 insertions, 4 deletions
diff --git a/core/java/android/view/HardwareRenderer.java b/core/java/android/view/HardwareRenderer.java index 5b592e037107..2bf16d89616c 100644 --- a/core/java/android/view/HardwareRenderer.java +++ b/core/java/android/view/HardwareRenderer.java @@ -413,8 +413,8 @@ public abstract class HardwareRenderer { if (error != EGL_SUCCESS) { // something bad has happened revert to // normal rendering. - fallback(error != EGL11.EGL_CONTEXT_LOST); Log.w(LOG_TAG, "EGL error: " + GLUtils.getEGLErrorString(error)); + fallback(error != EGL11.EGL_CONTEXT_LOST); } } } @@ -702,8 +702,9 @@ public abstract class HardwareRenderer { @Override void setup(int width, int height) { - checkCurrent(); - mCanvas.setViewport(width, height); + if (validate()) { + mCanvas.setViewport(width, height); + } } boolean canDraw() { diff --git a/core/java/android/view/ViewRootImpl.java b/core/java/android/view/ViewRootImpl.java index 6ea863ff9709..a0cc28761ca0 100644 --- a/core/java/android/view/ViewRootImpl.java +++ b/core/java/android/view/ViewRootImpl.java @@ -1352,7 +1352,7 @@ public final class ViewRootImpl extends Handler implements ViewParent, mAttachInfo.mHardwareRenderer != null && mAttachInfo.mHardwareRenderer.isEnabled())) { mAttachInfo.mHardwareRenderer.setup(mWidth, mHeight); - if (!hwInitialized) { + if (!hwInitialized && mAttachInfo.mHardwareRenderer.isEnabled()) { mAttachInfo.mHardwareRenderer.invalidate(mHolder); } } |