ctmcontrol: move to unique ptrs

less refcounting, move by rvalue.
This commit is contained in:
Tom Englund
2025-07-10 12:49:24 +02:00
committed by Vaxry
parent 37be9a8959
commit a21882be33
2 changed files with 5 additions and 5 deletions

View File

@@ -8,7 +8,7 @@
#include "../helpers/Monitor.hpp" #include "../helpers/Monitor.hpp"
#include "../helpers/MiscFunctions.hpp" #include "../helpers/MiscFunctions.hpp"
CHyprlandCTMControlResource::CHyprlandCTMControlResource(SP<CHyprlandCtmControlManagerV1> resource_) : m_resource(resource_) { CHyprlandCTMControlResource::CHyprlandCTMControlResource(UP<CHyprlandCtmControlManagerV1>&& resource_) : m_resource(std::move(resource_)) {
if UNLIKELY (!good()) if UNLIKELY (!good())
return; return;
@@ -87,7 +87,7 @@ CHyprlandCTMControlProtocol::CHyprlandCTMControlProtocol(const wl_interface* ifa
} }
void CHyprlandCTMControlProtocol::bindManager(wl_client* client, void* data, uint32_t ver, uint32_t id) { void CHyprlandCTMControlProtocol::bindManager(wl_client* client, void* data, uint32_t ver, uint32_t id) {
const auto RESOURCE = m_managers.emplace_back(makeShared<CHyprlandCTMControlResource>(makeShared<CHyprlandCtmControlManagerV1>(client, ver, id))); const auto& RESOURCE = m_managers.emplace_back(makeUnique<CHyprlandCTMControlResource>(makeUnique<CHyprlandCtmControlManagerV1>(client, ver, id)));
if UNLIKELY (!RESOURCE->good()) { if UNLIKELY (!RESOURCE->good()) {
wl_client_post_no_memory(client); wl_client_post_no_memory(client);

View File

@@ -12,14 +12,14 @@ class CMonitor;
class CHyprlandCTMControlResource { class CHyprlandCTMControlResource {
public: public:
CHyprlandCTMControlResource(SP<CHyprlandCtmControlManagerV1> resource_); CHyprlandCTMControlResource(UP<CHyprlandCtmControlManagerV1>&& resource_);
~CHyprlandCTMControlResource(); ~CHyprlandCTMControlResource();
bool good(); bool good();
void block(); void block();
private: private:
SP<CHyprlandCtmControlManagerV1> m_resource; UP<CHyprlandCtmControlManagerV1> m_resource;
std::unordered_map<std::string, Mat3x3> m_ctms; std::unordered_map<std::string, Mat3x3> m_ctms;
bool m_blocked = false; bool m_blocked = false;
@@ -38,7 +38,7 @@ class CHyprlandCTMControlProtocol : public IWaylandProtocol {
bool isCTMAnimationEnabled(); bool isCTMAnimationEnabled();
// //
std::vector<SP<CHyprlandCTMControlResource>> m_managers; std::vector<UP<CHyprlandCTMControlResource>> m_managers;
WP<CHyprlandCTMControlResource> m_manager; WP<CHyprlandCTMControlResource> m_manager;
// //