summaryrefslogtreecommitdiff
path: root/core/java/android/view/ViewRootImpl.java
diff options
context:
space:
mode:
authorRomain Guy <romainguy@google.com>2011-08-03 16:23:35 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2011-08-03 16:23:35 -0700
commit8c8333c80ea6f178294c054bc9de233105134ce2 (patch)
tree6b898415976972fde0e925a1156cde3bca892675 /core/java/android/view/ViewRootImpl.java
parent271865565a5c18089853d3e9c804c941742511d3 (diff)
parent1d0c708961f824ac5171238c205a7bf328d5d8a5 (diff)
Merge "Destroy the EGL surface when the ViewRootImpl surface is invalid Bug #5109839"
Diffstat (limited to 'core/java/android/view/ViewRootImpl.java')
-rw-r--r--core/java/android/view/ViewRootImpl.java7
1 files changed, 6 insertions, 1 deletions
diff --git a/core/java/android/view/ViewRootImpl.java b/core/java/android/view/ViewRootImpl.java
index 911bf2f6ee7c..ec4c5a29a0f6 100644
--- a/core/java/android/view/ViewRootImpl.java
+++ b/core/java/android/view/ViewRootImpl.java
@@ -1253,6 +1253,11 @@ public final class ViewRootImpl extends Handler implements ViewParent,
mScroller.abortAnimation();
}
disposeResizeBuffer();
+ // Our surface is gone
+ if (mAttachInfo.mHardwareRenderer != null &&
+ mAttachInfo.mHardwareRenderer.isEnabled()) {
+ mAttachInfo.mHardwareRenderer.destroy(true);
+ }
} else if (surfaceGenerationId != mSurface.getGenerationId() &&
mSurfaceHolder == null && mAttachInfo.mHardwareRenderer != null) {
fullRedrawNeeded = true;
@@ -1273,7 +1278,7 @@ public final class ViewRootImpl extends Handler implements ViewParent,
}
} catch (RemoteException e) {
}
-
+
if (DEBUG_ORIENTATION) Log.v(
TAG, "Relayout returned: frame=" + frame + ", surface=" + mSurface);