summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJean-Baptiste Queru <jbq@google.com>2010-11-23 11:02:09 -0800
committerAndroid Code Review <code-review@android.com>2010-11-23 11:02:09 -0800
commitf0f6c54b13831b11bd7a3bd7a01dc49b7505e56e (patch)
tree5f3c5225712a2bc1b2cca7a5af31c12abc2bf218
parent4da48ec88338af2df6f9abba850fb4c65918bb82 (diff)
parent637e3fd523f79e179973c6d683ddc816b6fa67ac (diff)
downloadbase-f0f6c54b13831b11bd7a3bd7a01dc49b7505e56e.tar.gz
Merge "frameworks/base: Destroy the overlay even if there is an error"
-rw-r--r--libs/ui/Overlay.cpp9
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 {