diff options
| author | Chet Haase <chet@google.com> | 2012-03-13 11:13:13 -0700 |
|---|---|---|
| committer | Chet Haase <chet@google.com> | 2012-03-13 11:13:36 -0700 |
| commit | 866ed817d0adf5b874eff277b4a4d2bcc6f61830 (patch) | |
| tree | 0fd2e788bbbb7d8a65654e327344234af4c8e119 /libs/hwui/DisplayListRenderer.cpp | |
| parent | 81a0647c302edb4ed74d6d80d8f85c85a6c3fec4 (diff) | |
| download | frameworks_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.cpp | 24 |
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(); |
