diff --git a/runners/services/servicerunner.cpp b/runners/services/servicerunner.cpp --- a/runners/services/servicerunner.cpp +++ b/runners/services/servicerunner.cpp @@ -477,7 +477,14 @@ QMimeData * ServiceRunner::mimeDataForMatch(const Plasma::QueryMatch &match) { - KService::Ptr service = KService::serviceByStorageId(match.data().toString()); + const QUrl dataUrl = match.data().toUrl(); + + const QString actionName = QUrlQuery(dataUrl).queryItemValue(QStringLiteral("action")); + if (!actionName.isEmpty()) { + return nullptr; + } + + KService::Ptr service = KService::serviceByStorageId(dataUrl.path()); if (!service) { return nullptr; }