diff options
author | Romain Guy <romainguy@google.com> | 2013-08-07 23:23:46 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2013-08-07 23:23:46 +0000 |
commit | 0b451b3aaeef3afe15fcc22b1f008c8650446753 (patch) | |
tree | d73bd2fe159b417cc09db2bad5061e7ca4023455 /core | |
parent | d53e376ce344db02a0e000114f7d7290980c6cd0 (diff) | |
parent | cb883303f97a8c08d53d972792630ca9bad94d65 (diff) | |
download | frameworks_base-0b451b3aaeef3afe15fcc22b1f008c8650446753.zip frameworks_base-0b451b3aaeef3afe15fcc22b1f008c8650446753.tar.gz frameworks_base-0b451b3aaeef3afe15fcc22b1f008c8650446753.tar.bz2 |
Merge "Only destroy remote graphic buffers Bug #9795157"
Diffstat (limited to 'core')
-rw-r--r-- | core/java/android/view/HardwareRenderer.java | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/core/java/android/view/HardwareRenderer.java b/core/java/android/view/HardwareRenderer.java index d9e4600..ba64f6b 100644 --- a/core/java/android/view/HardwareRenderer.java +++ b/core/java/android/view/HardwareRenderer.java @@ -1983,7 +1983,12 @@ public abstract class HardwareRenderer { if (map != null) { GLES20Canvas.initAtlas(buffer, map); } - buffer.destroy(); + // If IAssetAtlas is not the same class as the IBinder + // we are using a remote service and we can safely + // destroy the graphic buffer + if (atlas.getClass() != binder.getClass()) { + buffer.destroy(); + } } } } catch (RemoteException e) { @@ -1994,7 +1999,7 @@ public abstract class HardwareRenderer { @Override boolean canDraw() { return super.canDraw() && mGlCanvas != null; - } + } @Override int onPreDraw(Rect dirty) { |