From f9fa8390137e93da8c9b93271e7ce85dfed55b7f Mon Sep 17 00:00:00 2001 From: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> Date: Mon, 22 Sep 2025 22:08:46 +1000 Subject: plugin/service: ref by object Use QSet and auto unref on sender destruction --- plugin/src/Caelestia/Services/serviceref.cpp | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) (limited to 'plugin/src/Caelestia/Services/serviceref.cpp') diff --git a/plugin/src/Caelestia/Services/serviceref.cpp b/plugin/src/Caelestia/Services/serviceref.cpp index dc82811..91f8982 100644 --- a/plugin/src/Caelestia/Services/serviceref.cpp +++ b/plugin/src/Caelestia/Services/serviceref.cpp @@ -8,13 +8,7 @@ ServiceRef::ServiceRef(Service* service, QObject* parent) : QObject(parent) , m_service(service) { if (m_service) { - m_service->ref(); - } -} - -ServiceRef::~ServiceRef() { - if (m_service) { - m_service->unref(); + m_service->ref(this); } } @@ -28,14 +22,14 @@ void ServiceRef::setService(Service* service) { } if (m_service) { - m_service->unref(); + m_service->unref(this); } m_service = service; emit serviceChanged(); if (m_service) { - m_service->ref(); + m_service->ref(this); } } -- cgit v1.2.3-freya