diff options
| author | Tom Englund <tomenglund26@gmail.com> | 2025-07-10 12:47:21 +0200 |
|---|---|---|
| committer | Vaxry <43317083+vaxerski@users.noreply.github.com> | 2025-07-10 14:09:00 +0200 |
| commit | 37be9a8959d925bae4e5122af0ffe49cc2edda51 (patch) | |
| tree | 6c6b1d5164647f0495e3c20a59870bbe73f96e57 /src/protocols/AlphaModifier.cpp | |
| parent | f5af40afce9d453dbf2e5bab739520e1cb80ab12 (diff) | |
alphamodifier: move to unique ptrs
less refcounting, move by rvalue.
Diffstat (limited to 'src/protocols/AlphaModifier.cpp')
| -rw-r--r-- | src/protocols/AlphaModifier.cpp | 8 |
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(); } |
