drm_hwcomposer: Free failed composition in QueueComposition
Rather than maintaining ownership of the composition in the
caller, free the DrmComposition in QueueComposition on failure.
Change-Id: Id70e98ae1a8eef400bc29460bfc5a89c4707d617
Signed-off-by: Sean Paul <seanpaul@chromium.org>
diff --git a/hwcomposer.cpp b/hwcomposer.cpp
index 02c13af..b4fb340 100644
--- a/hwcomposer.cpp
+++ b/hwcomposer.cpp
@@ -407,9 +407,10 @@
}
ret = ctx->drm.compositor()->QueueComposition(composition);
+ composition = NULL;
if (ret) {
ALOGE("Failed to queue the composition");
- hwc_set_cleanup(num_displays, display_contents, composition);
+ hwc_set_cleanup(num_displays, display_contents, NULL);
return ret;
}
hwc_set_cleanup(num_displays, display_contents, NULL);