summaryrefslogtreecommitdiffstats
path: root/libs/hwui/DisplayListRenderer.cpp
diff options
context:
space:
mode:
authorChet Haase <chet@google.com>2012-03-13 11:13:13 -0700
committerChet Haase <chet@google.com>2012-03-13 11:13:36 -0700
commit866ed817d0adf5b874eff277b4a4d2bcc6f61830 (patch)
tree0fd2e788bbbb7d8a65654e327344234af4c8e119 /libs/hwui/DisplayListRenderer.cpp
parent81a0647c302edb4ed74d6d80d8f85c85a6c3fec4 (diff)
downloadframeworks_base-866ed817d0adf5b874eff277b4a4d2bcc6f61830.zip
frameworks_base-866ed817d0adf5b874eff277b4a4d2bcc6f61830.tar.gz
frameworks_base-866ed817d0adf5b874eff277b4a4d2bcc6f61830.tar.bz2
Fix garbage deref in DisplayList structures
Issue #6158892: Device runtime restarts frequently Change-Id: I4e6afaaf9ac66d6846caf0ed82ea67163d8b15c2
Diffstat (limited to 'libs/hwui/DisplayListRenderer.cpp')
-rw-r--r--libs/hwui/DisplayListRenderer.cpp24
1 files changed, 13 insertions, 11 deletions
diff --git a/libs/hwui/DisplayListRenderer.cpp b/libs/hwui/DisplayListRenderer.cpp
index 24f4f1c..2ba87c0 100644
--- a/libs/hwui/DisplayListRenderer.cpp
+++ b/libs/hwui/DisplayListRenderer.cpp
@@ -140,17 +140,19 @@ void DisplayList::destroyDisplayListDeferred(DisplayList* displayList) {
void DisplayList::clearResources() {
sk_free((void*) mReader.base());
- if (mTransformMatrix) {
- delete mTransformMatrix;
- mTransformMatrix = NULL;
- }
- if (mTransformCamera) {
- delete mTransformCamera;
- mTransformCamera = NULL;
- }
- if (mTransformMatrix3D) {
- delete mTransformMatrix3D;
- mTransformMatrix3D = NULL;
+ if (USE_DISPLAY_LIST_PROPERTIES) {
+ if (mTransformMatrix) {
+ delete mTransformMatrix;
+ mTransformMatrix = NULL;
+ }
+ if (mTransformCamera) {
+ delete mTransformCamera;
+ mTransformCamera = NULL;
+ }
+ if (mTransformMatrix3D) {
+ delete mTransformMatrix3D;
+ mTransformMatrix3D = NULL;
+ }
}
Caches& caches = Caches::getInstance();