diff --git a/src/widgets/kopenwithdialog.cpp b/src/widgets/kopenwithdialog.cpp --- a/src/widgets/kopenwithdialog.cpp +++ b/src/widgets/kopenwithdialog.cpp @@ -1004,6 +1004,15 @@ // qDebug() << "binaryName=" << binaryName; // Ensure that the typed binary name actually exists (#81190) if (QStandardPaths::findExecutable(binaryName).isEmpty()) { + // Maybe it exists but isn't executable + if (QDir::isAbsolutePath(binaryName)) { + QFileInfo fi(binaryName); + if (fi.exists() && !fi.isExecutable()) { + KMessageBox::error(q, i18n("The file '%1' is not executable.", binaryName)); + return false; + } + } + KMessageBox::error(q, i18n("'%1' not found, please type a valid program name.", binaryName)); return false; }