2
0
mirror of https://github.com/telegramdesktop/tdesktop synced 2025-10-25 14:58:42 +00:00

Catch ListActivatableNames errors

This commit is contained in:
Ilya Fedin
2021-03-10 11:05:03 +04:00
committed by John Preston
parent d6848c49e8
commit b24cba99e2
3 changed files with 21 additions and 19 deletions

View File

@@ -50,13 +50,27 @@ bool GetServiceRegistered() {
const auto connection = Gio::DBus::Connection::get_sync(
Gio::DBus::BusType::BUS_TYPE_SESSION);
static const auto activatable = ranges::contains(
base::Platform::DBus::ListActivatableNames(connection),
Glib::ustring(std::string(kService)));
const auto hasOwner = [&] {
try {
return base::Platform::DBus::NameHasOwner(
connection,
std::string(kService));
} catch (...) {
return false;
}
}();
return base::Platform::DBus::NameHasOwner(
connection,
std::string(kService)) || activatable;
static const auto activatable = [&] {
try {
return ranges::contains(
base::Platform::DBus::ListActivatableNames(connection),
Glib::ustring(std::string(kService)));
} catch (...) {
return false;
}
}();
return hasOwner || activatable;
} catch (...) {
}