|
|
|
|
@ -164,8 +164,15 @@ QUrl StartupTasksModel::Private::launcherUrl(const KStartupInfoData &data) |
|
|
|
|
// Try to match via desktop filename ...
|
|
|
|
|
if (!appId.isEmpty() && appId.endsWith(QLatin1String(".desktop"))) { |
|
|
|
|
if (appId.startsWith(QLatin1String("/"))) { |
|
|
|
|
launcherUrl = QUrl::fromLocalFile(appId); |
|
|
|
|
return launcherUrl; |
|
|
|
|
// Even if we have an absolute path, try resolving to a service first (Bug 385594)
|
|
|
|
|
KService::Ptr service = KService::serviceByDesktopPath(appId); |
|
|
|
|
if (!service) { // No luck, just return it verbatim
|
|
|
|
|
launcherUrl = QUrl::fromLocalFile(appId); |
|
|
|
|
return launcherUrl; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// Fall-through to menuId() handling below
|
|
|
|
|
services = {service}; |
|
|
|
|
} else { |
|
|
|
|
if (appId.endsWith(QLatin1String(".desktop"))) { |
|
|
|
|
appId = appId.mid(appId.length() - 8); |
|
|
|
|
|