From 45c41537edfec26fbc73cbedb60a3beba4fc3c79 Mon Sep 17 00:00:00 2001 From: Sampo Niskanen Date: Sat, 10 Jan 2015 18:38:47 +0200 Subject: [PATCH] Check that scripting engine supports Invocable before casting --- .../simulation/extension/impl/ScriptingExtension.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/core/src/net/sf/openrocket/simulation/extension/impl/ScriptingExtension.java b/core/src/net/sf/openrocket/simulation/extension/impl/ScriptingExtension.java index d3d3380b3..3569d2aae 100644 --- a/core/src/net/sf/openrocket/simulation/extension/impl/ScriptingExtension.java +++ b/core/src/net/sf/openrocket/simulation/extension/impl/ScriptingExtension.java @@ -103,7 +103,9 @@ public class ScriptingExtension extends AbstractSimulationExtension { throw new SimulationException("Invalid script: " + e.getMessage()); } - // TODO: Check for implementation first + if (!(engine instanceof Invocable)) { + throw new SimulationException("The scripting language '" + getLanguage() + "' does not implement the Invocable interface"); + } return new ScriptingSimulationListener((Invocable) engine); }