summaryrefslogtreecommitdiff
path: root/src/protocols
diff options
context:
space:
mode:
authorTom Englund <tomenglund26@gmail.com>2025-08-18 17:42:19 +0200
committerGitHub <noreply@github.com>2025-08-18 16:42:19 +0100
commit1a0ed00f74f7cfcc3b7c4fd7e3bf0073c4973267 (patch)
tree7fd960db0834b45c9a8b406cd34b49d99b2b627a /src/protocols
parent21953ddf3d74b8eb0670a1d293175379e786d13c (diff)
protocols/wayland: use UP and rvalue refs for callbacks (#11471)
use UP and rvalue refs in CWLCallbackResource and m_callbacks.
Diffstat (limited to 'src/protocols')
-rw-r--r--src/protocols/core/Compositor.cpp4
-rw-r--r--src/protocols/core/Compositor.hpp6
2 files changed, 5 insertions, 5 deletions
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<CWlCallback> resource_) : m_resource(resource_) {
+CWLCallbackResource::CWLCallbackResource(UP<CWlCallback>&& resource_) : m_resource(std::move(resource_)) {
;
}
@@ -239,7 +239,7 @@ CWLSurfaceResource::CWLSurfaceResource(SP<CWlSurface> resource_) : m_resource(re
m_pending.opaque = RG->m_region;
});
- m_resource->setFrame([this](CWlSurface* r, uint32_t id) { m_callbacks.emplace_back(makeShared<CWLCallbackResource>(makeShared<CWlCallback>(m_client, 1, id))); });
+ m_resource->setFrame([this](CWlSurface* r, uint32_t id) { m_callbacks.emplace_back(makeUnique<CWLCallbackResource>(makeUnique<CWlCallback>(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<CWlCallback> resource_);
+ CWLCallbackResource(UP<CWlCallback>&& resource_);
bool good();
void send(const Time::steady_tp& now);
private:
- SP<CWlCallback> m_resource;
+ UP<CWlCallback> m_resource;
};
class CWLRegionResource {
@@ -95,7 +95,7 @@ class CWLSurfaceResource {
SSurfaceState m_pending;
std::queue<UP<SSurfaceState>> m_pendingStates;
- std::vector<SP<CWLCallbackResource>> m_callbacks;
+ std::vector<UP<CWLCallbackResource>> m_callbacks;
WP<CWLSurfaceResource> m_self;
WP<CWLSurface> m_hlSurface;
std::vector<PHLMONITORREF> m_enteredOutputs;