diff --git a/libtaskmanager/launchertasksmodel.cpp b/libtaskmanager/launchertasksmodel.cpp --- a/libtaskmanager/launchertasksmodel.cpp +++ b/libtaskmanager/launchertasksmodel.cpp @@ -583,13 +583,15 @@ KService::Ptr service; - if (url.scheme() == QLatin1String("preferred")) { + if (url.scheme() == QLatin1String("applications")) { + service = KService::serviceByMenuId(url.path()); + } else if (url.scheme() == QLatin1String("preferred")) { service = KService::serviceByStorageId(defaultApplication(url)); } else { service = KService::serviceByDesktopPath(url.toLocalFile()); } - if (!service && !service->isApplication()) { + if (!service || !service->isApplication()) { return; }