diff options
-rw-r--r-- | shell/source/unix/exec/shellexec.cxx | 4 | ||||
-rw-r--r-- | shell/source/win32/SysShExec.cxx | 3 |
2 files changed, 6 insertions, 1 deletions
diff --git a/shell/source/unix/exec/shellexec.cxx b/shell/source/unix/exec/shellexec.cxx index 7355eaea0db6..86c3672162c0 100644 --- a/shell/source/unix/exec/shellexec.cxx +++ b/shell/source/unix/exec/shellexec.cxx @@ -147,6 +147,10 @@ void SAL_CALL ShellExec::execute( const OUString& aCommand, const OUString& aPar { throw css::lang::IllegalArgumentException( "XSystemShellExecute.execute, cannot process <" + aCommand + ">", {}, 0); + } else if (pathname.endsWithIgnoreAsciiCase(".class") + || pathname.endsWithIgnoreAsciiCase(".jar")) + { + dir = true; } } diff --git a/shell/source/win32/SysShExec.cxx b/shell/source/win32/SysShExec.cxx index fb1e436878cf..4c69da98e89e 100644 --- a/shell/source/win32/SysShExec.cxx +++ b/shell/source/win32/SysShExec.cxx @@ -419,7 +419,8 @@ void SAL_CALL CSysShExec::execute( const OUString& aCommand, const OUString& aPa } if (!(checkExtension(ext, env) && checkExtension( - ext, ".COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC;.PY"))) + ext, + ".COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC;.PY;.CLASS;.JAR"))) { throw css::lang::IllegalArgumentException( "XSystemShellExecute.execute, cannot process <" + aCommand + ">", {}, 0); |