From 41f6e88b159ffbd59cbb219a7d3619f3d84dbdd2 Mon Sep 17 00:00:00 2001 From: Anton Tarasov Date: Wed, 13 May 2020 14:29:11 +0300 Subject: [PATCH] Check for JCefAppConfig.getVersion() presence The method can be missing in the runtime JCEF lib, when older JBR is used. GitOrigin-RevId: b82069e73a4c8a8ea958cdd4d9f64c625552db40 --- .../src/com/intellij/ui/jcef/JBCefApp.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/platform/platform-api/src/com/intellij/ui/jcef/JBCefApp.java b/platform/platform-api/src/com/intellij/ui/jcef/JBCefApp.java index 9163b6ca29ce..5ffa67f6ab2d 100644 --- a/platform/platform-api/src/com/intellij/ui/jcef/JBCefApp.java +++ b/platform/platform-api/src/com/intellij/ui/jcef/JBCefApp.java @@ -161,15 +161,21 @@ public final class JBCefApp { Function unsupported = (msg) -> { ourSupported = new AtomicBoolean(false); if (logging) { - LOG.warn(msg); + LOG.warn(msg + (!msg.contains("disabled") ? " (Use JBR bundled with the IDE)" : "")); } return false; }; // warn: do not change to Registry.is(), the method used at startup if (!RegistryManager.getInstance().is("ide.browser.jcef.enabled")) { - return unsupported.apply("JCEF is disabled via 'ide.browser.jcef.enabled'"); + return unsupported.apply("JCEF is manually disabled via 'ide.browser.jcef.enabled'"); + } + String version; + try { + version = JCefAppConfig.getVersion(); + } + catch (NoSuchMethodError e) { + return unsupported.apply("JCEF runtime version is not supported"); } - String version = JCefAppConfig.getVersion(); if (version == null) { return unsupported.apply("JCEF runtime version is not available"); }