diff options
author | Jean-Baptiste Queru <jbq@google.com> | 2010-11-23 11:02:09 -0800 |
---|---|---|
committer | Android Code Review <code-review@android.com> | 2010-11-23 11:02:09 -0800 |
commit | f0f6c54b13831b11bd7a3bd7a01dc49b7505e56e (patch) | |
tree | 5f3c5225712a2bc1b2cca7a5af31c12abc2bf218 | |
parent | 4da48ec88338af2df6f9abba850fb4c65918bb82 (diff) | |
parent | 637e3fd523f79e179973c6d683ddc816b6fa67ac (diff) | |
download | base-f0f6c54b13831b11bd7a3bd7a01dc49b7505e56e.tar.gz |
Merge "frameworks/base: Destroy the overlay even if there is an error"
-rw-r--r-- | libs/ui/Overlay.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/libs/ui/Overlay.cpp b/libs/ui/Overlay.cpp index 3aa8950af53b..b082c534a0fb 100644 --- a/libs/ui/Overlay.cpp +++ b/libs/ui/Overlay.cpp @@ -96,7 +96,6 @@ void* Overlay::getBufferAddress(overlay_buffer_t buffer) } void Overlay::destroy() { - if (mStatus != NO_ERROR) return; // Must delete the objects in reverse creation order, thus the // data side must be closed first and then the destroy send to @@ -104,9 +103,15 @@ void Overlay::destroy() { if (mOverlayData) { overlay_data_close(mOverlayData); mOverlayData = NULL; + } else { + LOGD("Overlay::destroy mOverlayData is NULL"); } - mOverlayRef->mOverlayChannel->destroy(); + if (mOverlayRef != 0) { + mOverlayRef->mOverlayChannel->destroy(); + } else { + LOGD("Overlay::destroy mOverlayRef is NULL"); + } } status_t Overlay::getStatus() const { |