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 56487a220b68..5eab98b926a5 100644 --- a/shell/source/unix/exec/shellexec.cxx +++ b/shell/source/unix/exec/shellexec.cxx @@ -155,6 +155,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 f18022897e7f..a9e5a2c4ec7d 100644 --- a/shell/source/win32/SysShExec.cxx +++ b/shell/source/win32/SysShExec.cxx @@ -387,7 +387,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); |