summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/dbus/qdbusmisc.cpp11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/dbus/qdbusmisc.cpp b/src/dbus/qdbusmisc.cpp
index 0502bea0ac..930c3bd2da 100644
--- a/src/dbus/qdbusmisc.cpp
+++ b/src/dbus/qdbusmisc.cpp
@@ -99,9 +99,14 @@ QString qDBusInterfaceFromMetaObject(const QMetaObject *mo)
if (domainName.isEmpty()) {
interface.prepend(QLatin1String("local."));
} else {
- interface.reserve(interface.size() + organizationDomain.size());
- for (const QStringRef &x : domainName)
- interface.prepend(QLatin1Char('.')).prepend(x);
+ QString composedDomain;
+ // + 1 for additional dot, e.g. organizationDomain equals "example.com",
+ // then composedDomain will be equal "com.example."
+ composedDomain.reserve(organizationDomain.size() + 1);
+ for (auto it = domainName.rbegin(), end = domainName.rend(); it != end; ++it)
+ composedDomain += *it + QLatin1Char('.');
+
+ interface.prepend(composedDomain);
}
}
}