summaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
authorRomain Guy <romainguy@google.com>2013-08-07 23:23:46 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2013-08-07 23:23:46 +0000
commit0b451b3aaeef3afe15fcc22b1f008c8650446753 (patch)
treed73bd2fe159b417cc09db2bad5061e7ca4023455 /core
parentd53e376ce344db02a0e000114f7d7290980c6cd0 (diff)
parentcb883303f97a8c08d53d972792630ca9bad94d65 (diff)
downloadframeworks_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.java9
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) {