diff options
| author | Romain Guy <romainguy@google.com> | 2012-03-23 19:05:50 -0700 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2012-03-23 19:05:50 -0700 |
| commit | d4577c0c29f8e38a34d1aeac59803b37769af790 (patch) | |
| tree | 68f57ea048e574d9897dd3268fe7a7f7a868128e /core/java/android/view/View.java | |
| parent | 660b014daa639424e1a0bca299c5a8abfa14411c (diff) | |
| parent | a998dff5d49a423aaf7097aa8f96bf5bdc681d25 (diff) | |
| download | frameworks_base-d4577c0c29f8e38a34d1aeac59803b37769af790.zip frameworks_base-d4577c0c29f8e38a34d1aeac59803b37769af790.tar.gz frameworks_base-d4577c0c29f8e38a34d1aeac59803b37769af790.tar.bz2 | |
Merge "Destroy the hardware renderer when ViewRootImpl's die is post-poned Bug #6109035"
Diffstat (limited to 'core/java/android/view/View.java')
| -rw-r--r-- | core/java/android/view/View.java | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/core/java/android/view/View.java b/core/java/android/view/View.java index 770d899..3afc20e 100644 --- a/core/java/android/view/View.java +++ b/core/java/android/view/View.java @@ -10045,7 +10045,7 @@ public class View implements Drawable.Callback, Drawable.Callback2, KeyEvent.Cal destroyDrawingCache(); - destroyLayer(); + destroyLayer(false); if (mAttachInfo != null) { if (mDisplayList != null) { @@ -10421,7 +10421,7 @@ public class View implements Drawable.Callback, Drawable.Callback2, KeyEvent.Cal // Destroy any previous software drawing cache if needed switch (mLayerType) { case LAYER_TYPE_HARDWARE: - destroyLayer(); + destroyLayer(false); // fall through - non-accelerated views may use software layer mechanism instead case LAYER_TYPE_SOFTWARE: destroyDrawingCache(); @@ -10559,11 +10559,12 @@ public class View implements Drawable.Callback, Drawable.Callback2, KeyEvent.Cal * @see #setLayerType(int, android.graphics.Paint) * @see #LAYER_TYPE_HARDWARE */ - boolean destroyLayer() { + boolean destroyLayer(boolean valid) { if (mHardwareLayer != null) { AttachInfo info = mAttachInfo; if (info != null && info.mHardwareRenderer != null && - info.mHardwareRenderer.isEnabled() && info.mHardwareRenderer.validate()) { + info.mHardwareRenderer.isEnabled() && + (valid || info.mHardwareRenderer.validate())) { mHardwareLayer.destroy(); mHardwareLayer = null; @@ -10587,7 +10588,7 @@ public class View implements Drawable.Callback, Drawable.Callback2, KeyEvent.Cal * @hide */ protected void destroyHardwareResources() { - destroyLayer(); + destroyLayer(true); } /** |
