diff --git a/src/protocols/core/Compositor.cpp b/src/protocols/core/Compositor.cpp index 37e2df9a..73326990 100644 --- a/src/protocols/core/Compositor.cpp +++ b/src/protocols/core/Compositor.cpp @@ -27,7 +27,7 @@ class CDefaultSurfaceRole : public ISurfaceRole { } }; -CWLCallbackResource::CWLCallbackResource(SP resource_) : m_resource(resource_) { +CWLCallbackResource::CWLCallbackResource(UP&& resource_) : m_resource(std::move(resource_)) { ; } @@ -239,7 +239,7 @@ CWLSurfaceResource::CWLSurfaceResource(SP resource_) : m_resource(re m_pending.opaque = RG->m_region; }); - m_resource->setFrame([this](CWlSurface* r, uint32_t id) { m_callbacks.emplace_back(makeShared(makeShared(m_client, 1, id))); }); + m_resource->setFrame([this](CWlSurface* r, uint32_t id) { m_callbacks.emplace_back(makeUnique(makeUnique(m_client, 1, id))); }); m_resource->setOffset([this](CWlSurface* r, int32_t x, int32_t y) { m_pending.updated.bits.offset = true; diff --git a/src/protocols/core/Compositor.hpp b/src/protocols/core/Compositor.hpp index fd91d8d9..5a69deb6 100644 --- a/src/protocols/core/Compositor.hpp +++ b/src/protocols/core/Compositor.hpp @@ -35,13 +35,13 @@ class CContentType; class CWLCallbackResource { public: - CWLCallbackResource(SP resource_); + CWLCallbackResource(UP&& resource_); bool good(); void send(const Time::steady_tp& now); private: - SP m_resource; + UP m_resource; }; class CWLRegionResource { @@ -95,7 +95,7 @@ class CWLSurfaceResource { SSurfaceState m_pending; std::queue> m_pendingStates; - std::vector> m_callbacks; + std::vector> m_callbacks; WP m_self; WP m_hlSurface; std::vector m_enteredOutputs;