From ad96fec8b580364b9065f3547e9a7c0232ac158e Mon Sep 17 00:00:00 2001 From: Stefan Sauer Date: Sat, 23 Jun 2018 12:22:33 +0200 Subject: [PATCH] Ensure that jcef_hlper is executable. If not we only get a black screen and a "LaunchProcess: failed to execvp:". Fixes #13 --- .../loader/PandomiumNativeLoader.java | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/pandomium/src/main/java/org/panda_lang/pandomium/loader/PandomiumNativeLoader.java b/pandomium/src/main/java/org/panda_lang/pandomium/loader/PandomiumNativeLoader.java index 34d2c23..f073b53 100644 --- a/pandomium/src/main/java/org/panda_lang/pandomium/loader/PandomiumNativeLoader.java +++ b/pandomium/src/main/java/org/panda_lang/pandomium/loader/PandomiumNativeLoader.java @@ -74,6 +74,26 @@ private boolean checkNative(File directory) { else if (PandomiumOS.isLinux()) { success = success && FileUtils.isIn("cef.pak", directoryContent); } + + // Ensure that 'jcef helper' is executable + String cefHelperName = null; + if (PandomiumOS.isMacOS()) { + cefHelperName = "jcef Helper"; + } + else if (PandomiumOS.isWindows()) { + cefHelperName = "jcef_helper.exe"; + } + else if (PandomiumOS.isLinux()) { + cefHelperName = "jcef_helper"; + } + if (cefHelperName != null) { + for (File file : directoryContent) { + if (file.getName().equals(cefHelperName)) { + file.setExecutable(true); + break; + } + } + } return success; }