diff options
| author | 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> | 2025-09-22 22:08:46 +1000 |
|---|---|---|
| committer | 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> | 2025-09-22 22:08:46 +1000 |
| commit | f9fa8390137e93da8c9b93271e7ce85dfed55b7f (patch) | |
| tree | 3de5488479524c86231d0d06a67edfcc583e13e4 /plugin/src/Caelestia/Services/serviceref.cpp | |
| parent | plugin: delete entries after emitting signal (diff) | |
| download | caelestia-shell-f9fa8390137e93da8c9b93271e7ce85dfed55b7f.tar.gz caelestia-shell-f9fa8390137e93da8c9b93271e7ce85dfed55b7f.tar.bz2 caelestia-shell-f9fa8390137e93da8c9b93271e7ce85dfed55b7f.zip | |
plugin/service: ref by object
Use QSet and auto unref on sender destruction
Diffstat (limited to 'plugin/src/Caelestia/Services/serviceref.cpp')
| -rw-r--r-- | plugin/src/Caelestia/Services/serviceref.cpp | 12 |
1 files changed, 3 insertions, 9 deletions
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); } } |