drm_hwcomposer: Rework UserPropertyBlob to use RAII
Makes code simpler and leak-free.
Signed-off-by: Roman Stratiienko <roman.o.stratiienko@globallogic.com>
diff --git a/compositor/DrmDisplayCompositor.h b/compositor/DrmDisplayCompositor.h
index 9f0c0d9..3227e12 100644
--- a/compositor/DrmDisplayCompositor.h
+++ b/compositor/DrmDisplayCompositor.h
@@ -57,10 +57,9 @@
private:
struct ModeState {
- bool needs_modeset = false;
DrmMode mode;
- uint32_t blob_id = 0;
- uint32_t old_blob_id = 0;
+ DrmModeUserPropertyBlobUnique blob;
+ DrmModeUserPropertyBlobUnique old_blob;
};
DrmDisplayCompositor(const DrmDisplayCompositor &) = delete;
@@ -72,7 +71,7 @@
void ApplyFrame(std::unique_ptr<DrmDisplayComposition> composition,
int status);
- std::tuple<int, uint32_t> CreateModeBlob(const DrmMode &mode);
+ auto CreateModeBlob(const DrmMode &mode) -> DrmModeUserPropertyBlobUnique;
ResourceManager *resource_manager_;
int display_;