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>
}
// 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;
}
}
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