summaryrefslogtreecommitdiff
path: root/plugin/src/Caelestia/Services/serviceref.cpp
diff options
context:
space:
mode:
author2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>2025-09-22 22:08:46 +1000
committer2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>2025-09-22 22:08:46 +1000
commitf9fa8390137e93da8c9b93271e7ce85dfed55b7f (patch)
tree3de5488479524c86231d0d06a67edfcc583e13e4 /plugin/src/Caelestia/Services/serviceref.cpp
parentplugin: delete entries after emitting signal (diff)
downloadcaelestia-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.cpp12
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);
}
}