From 37be9a8959d925bae4e5122af0ffe49cc2edda51 Mon Sep 17 00:00:00 2001 From: Tom Englund Date: Thu, 10 Jul 2025 12:47:21 +0200 Subject: [PATCH] alphamodifier: move to unique ptrs less refcounting, move by rvalue. --- src/protocols/AlphaModifier.cpp | 8 ++++---- src/protocols/AlphaModifier.hpp | 6 +++--- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/protocols/AlphaModifier.cpp b/src/protocols/AlphaModifier.cpp index 31e5e9962..24088190b 100644 --- a/src/protocols/AlphaModifier.cpp +++ b/src/protocols/AlphaModifier.cpp @@ -4,7 +4,7 @@ #include "alpha-modifier-v1.hpp" #include "core/Compositor.hpp" -CAlphaModifier::CAlphaModifier(SP resource, SP surface) : m_surface(surface) { +CAlphaModifier::CAlphaModifier(UP&& resource, SP surface) : m_surface(surface) { setResource(std::move(resource)); } @@ -12,7 +12,7 @@ bool CAlphaModifier::good() { return m_resource->resource(); } -void CAlphaModifier::setResource(SP resource) { +void CAlphaModifier::setResource(UP&& resource) { m_resource = std::move(resource); if UNLIKELY (!m_resource->resource()) @@ -89,11 +89,11 @@ void CAlphaModifierProtocol::getSurface(CWpAlphaModifierV1* manager, uint32_t id manager->error(WP_ALPHA_MODIFIER_V1_ERROR_ALREADY_CONSTRUCTED, "AlphaModifier already present"); return; } else { - iter->second->setResource(makeShared(manager->client(), manager->version(), id)); + iter->second->setResource(makeUnique(manager->client(), manager->version(), id)); alphaModifier = iter->second.get(); } } else { - alphaModifier = m_alphaModifiers.emplace(surface, makeUnique(makeShared(manager->client(), manager->version(), id), surface)) + alphaModifier = m_alphaModifiers.emplace(surface, makeUnique(makeUnique(manager->client(), manager->version(), id), surface)) .first->second.get(); } diff --git a/src/protocols/AlphaModifier.hpp b/src/protocols/AlphaModifier.hpp index 99bfc2fb8..8dc370a35 100644 --- a/src/protocols/AlphaModifier.hpp +++ b/src/protocols/AlphaModifier.hpp @@ -11,13 +11,13 @@ class CAlphaModifierProtocol; class CAlphaModifier { public: - CAlphaModifier(SP resource_, SP surface); + CAlphaModifier(UP&& resource_, SP surface); bool good(); - void setResource(SP resource); + void setResource(UP&& resource); private: - SP m_resource; + UP m_resource; WP m_surface; float m_alpha = 1.0;