From 39320266cca733babe8df1420e3fb70a84d45e3b Mon Sep 17 00:00:00 2001 From: Ivailo Monev Date: Mon, 13 May 2024 04:47:21 +0300 Subject: [PATCH] kinit: error out when services do not support remote URLs and one is detected Signed-off-by: Ivailo Monev --- kinit/klauncher_adaptor.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/kinit/klauncher_adaptor.cpp b/kinit/klauncher_adaptor.cpp index f57f854f..9223cb21 100644 --- a/kinit/klauncher_adaptor.cpp +++ b/kinit/klauncher_adaptor.cpp @@ -309,6 +309,17 @@ bool KLauncherAdaptor::start_service_by_storage_id(const QString &serviceName, removeTemp(temp, urls); return false; } + const QString kserviceexec = kservice->exec(); + if (!kserviceexec.contains(QLatin1String("%u")) && !kserviceexec.contains(QLatin1String("%U"))) { + foreach (const QString &url, urls) { + if (!KUrl(url).isLocalFile()) { + kError() << "service does not support remote" << serviceName; + showError(i18n("Service does not support remote URLs: %1", serviceName), window); + removeTemp(temp, urls); + return false; + } + } + } if (urls.size() > 1 && !kservice->allowMultipleFiles()) { kWarning() << "service does not support multiple files" << serviceName; bool result = true;