diff --git a/src/widgets/krun.cpp b/src/widgets/krun.cpp --- a/src/widgets/krun.cpp +++ b/src/widgets/krun.cpp @@ -712,27 +712,26 @@ return 0; } + if (!flags.testFlag(DeleteTemporaryFiles)) { + // Remember we opened those urls, for the "recent documents" menu in kicker + for (const QUrl &url : urls) { + KRecentDocument::add(url, service.desktopEntryName()); + } + } + KService::Ptr servicePtr(new KService(service)); // clone return runApplicationImpl(servicePtr, urls, window, flags, suggestedFileName, asn); } qint64 KRun::runService(const KService &_service, const QList &_urls, QWidget *window, bool tempFiles, const QString &suggestedFileName, const QByteArray &asn) { - if (!_service.entryPath().isEmpty() && - !KDesktopFile::isAuthorizedDesktopFile(_service.entryPath()) && - !::makeServiceExecutable(_service, window)) { - return 0; - } - - if (!tempFiles) { - // Remember we opened those urls, for the "recent documents" menu in kicker - for (const QUrl &url : _urls) { - KRecentDocument::add(url, _service.desktopEntryName()); - } - } - KService::Ptr servicePtr(new KService(_service)); // clone - return runApplicationImpl(servicePtr, _urls, window, tempFiles ? RunFlags(DeleteTemporaryFiles) : RunFlags(), suggestedFileName, asn); + return runApplication(_service, + _urls, + window, + tempFiles ? RunFlags(DeleteTemporaryFiles) : RunFlags(), + suggestedFileName, + asn); } bool KRun::run(const QString &_exec, const QList &_urls, QWidget *window, const QString &_name,