drm_hwcomposer: fix buffer leak when using the GL compositor inside DrmDisplayCompositor
Change-Id: Id3a6deea9fc0f97640b34dacb25d36f3793f2d4e
diff --git a/drmdisplaycompositor.cpp b/drmdisplaycompositor.cpp
index 7f43503..b76d81d 100644
--- a/drmdisplaycompositor.cpp
+++ b/drmdisplaycompositor.cpp
@@ -206,6 +206,10 @@
return ret;
}
+ for (auto &comp_layer : *layers)
+ if (comp_layer.plane == NULL)
+ display_comp->importer()->ReleaseBuffer(&comp_layer.bo);
+
layers->erase(std::remove_if(layers->begin(), layers->end(),
drm_composition_layer_has_no_plane),
layers->end());