blob: 4e3cadceeb7d53f434febd7f2b7cff47a2dc0e8c (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
diff --git a/src/kdbusservice.cpp b/src/kdbusservice.cpp
--- src/kdbusservice.cpp
+++ src/kdbusservice.cpp
@@ -129,6 +130,18 @@
} else {
d->serviceName += QLatin1Char('-') + QString::number(QCoreApplication::applicationPid());
}
+ } else if (options & KDBusService::Unique) {
+ auto reply = bus->registeredServiceNames();
+ if (!reply.isValid()) {
+ return;
+ }
+
+ for (const auto& serviceName : reply.value()) {
+ if (serviceName.startsWith(d->serviceName)) {
+ d->serviceName = serviceName;
+ return;
+ }
+ }
}
}
|