commit | 7c91568819265e7863a68c034da8b0be84548c43 | [log] [tgz] |
---|---|---|
author | Roman Stratiienko <roman.o.stratiienko@globallogic.com> | Thu Dec 23 12:59:20 2021 +0200 |
committer | Roman Stratiienko <roman.o.stratiienko@globallogic.com> | Wed Jan 12 10:33:55 2022 +0200 |
tree | 89b925b461df8290c25c3e6b872e8f9ddcd25cd9 | |
parent | f81d2c8206d793716b6cedd28c514727120c6bbf [diff] [blame] |
drm_hwcomposer: Free resources in HookDevClose() Composer service won't free memory for us, see [1]. [1]: https://cs.android.com/android/platform/superproject/+/master:hardware/interfaces/graphics/composer/2.1/utils/passthrough/include/composer-passthrough/2.1/HwcHal.h;l=83;drc=7ae8af54b32a7eb827dbf9f2aedb647c9525a3d9 Signed-off-by: Roman Stratiienko <roman.o.stratiienko@globallogic.com>
diff --git a/DrmHwcTwo.cpp b/DrmHwcTwo.cpp index 291bbdd..45fb958 100644 --- a/DrmHwcTwo.cpp +++ b/DrmHwcTwo.cpp
@@ -1285,7 +1285,10 @@ } // static -int DrmHwcTwo::HookDevClose(hw_device_t * /*dev*/) { +int DrmHwcTwo::HookDevClose(hw_device_t *dev) { + // NOLINTNEXTLINE (cppcoreguidelines-pro-type-reinterpret-cast): Safe + auto *hwc2_dev = reinterpret_cast<hwc2_device_t *>(dev); + std::unique_ptr<DrmHwcTwo> ctx(toDrmHwcTwo(hwc2_dev)); return 0; } @@ -1576,8 +1579,8 @@ } ctx->common.module = (hw_module_t *)module; - *dev = &ctx->common; - ctx.release(); // NOLINT(bugprone-unused-return-value) + *dev = &ctx.release()->common; + return 0; } } // namespace android