summaryrefslogtreecommitdiff
path: root/src/protocols/AlphaModifier.cpp
diff options
context:
space:
mode:
authorTom Englund <tomenglund26@gmail.com>2025-07-10 12:47:21 +0200
committerVaxry <43317083+vaxerski@users.noreply.github.com>2025-07-10 14:09:00 +0200
commit37be9a8959d925bae4e5122af0ffe49cc2edda51 (patch)
tree6c6b1d5164647f0495e3c20a59870bbe73f96e57 /src/protocols/AlphaModifier.cpp
parentf5af40afce9d453dbf2e5bab739520e1cb80ab12 (diff)
alphamodifier: move to unique ptrs
less refcounting, move by rvalue.
Diffstat (limited to 'src/protocols/AlphaModifier.cpp')
-rw-r--r--src/protocols/AlphaModifier.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/protocols/AlphaModifier.cpp b/src/protocols/AlphaModifier.cpp
index 31e5e996..24088190 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<CWpAlphaModifierSurfaceV1> resource, SP<CWLSurfaceResource> surface) : m_surface(surface) {
+CAlphaModifier::CAlphaModifier(UP<CWpAlphaModifierSurfaceV1>&& resource, SP<CWLSurfaceResource> surface) : m_surface(surface) {
setResource(std::move(resource));
}
@@ -12,7 +12,7 @@ bool CAlphaModifier::good() {
return m_resource->resource();
}
-void CAlphaModifier::setResource(SP<CWpAlphaModifierSurfaceV1> resource) {
+void CAlphaModifier::setResource(UP<CWpAlphaModifierSurfaceV1>&& 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<CWpAlphaModifierSurfaceV1>(manager->client(), manager->version(), id));
+ iter->second->setResource(makeUnique<CWpAlphaModifierSurfaceV1>(manager->client(), manager->version(), id));
alphaModifier = iter->second.get();
}
} else {
- alphaModifier = m_alphaModifiers.emplace(surface, makeUnique<CAlphaModifier>(makeShared<CWpAlphaModifierSurfaceV1>(manager->client(), manager->version(), id), surface))
+ alphaModifier = m_alphaModifiers.emplace(surface, makeUnique<CAlphaModifier>(makeUnique<CWpAlphaModifierSurfaceV1>(manager->client(), manager->version(), id), surface))
.first->second.get();
}