Fix: ScilabJavaEnvironment::getInstance() returns a pointer on instance, not the instance itself
+ return Scilab error when instance is null
Change-Id: I0645534db16ed489a59360fd6a310ae66e4a9657
try
{
const int envId = ScilabJavaEnvironment::start();
- JavaOptionsSetter setter = ScilabJavaEnvironment::getInstance().getOptionsHelper().getSetter(JavaOptionsSetter::ALLOWRELOAD);
+
+ ScilabJavaEnvironment *javaEnvironment = ScilabJavaEnvironment::getInstance();
+ if (!javaEnvironment)
+ {
+ Scierror(999, "%s: No Java environment available (instance is null).", fname);
+ return 0;
+ }
+
+ JavaOptionsSetter setter = javaEnvironment->getOptionsHelper().getSetter(JavaOptionsSetter::ALLOWRELOAD);
return ScilabGateway::getsetOptions(fname, envId, setter, pvApiCtx);
}
catch (std::exception & e)
try
{
const int envId = ScilabJavaEnvironment::start();
- JavaOptionsSetter setter = ScilabJavaEnvironment::getInstance().getOptionsHelper().getSetter(JavaOptionsSetter::METHODOFCONV);
+ ScilabJavaEnvironment *javaEnvironment = ScilabJavaEnvironment::getInstance();
+ if (!javaEnvironment)
+ {
+ Scierror(999, "%s: No Java environment available (instance is null).", fname);
+ return 0;
+ }
+
+ JavaOptionsSetter setter = javaEnvironment->getOptionsHelper().getSetter(JavaOptionsSetter::METHODOFCONV);
return ScilabGateway::getsetOptions(fname, envId, setter, pvApiCtx);
}
catch (std::exception & e)
try
{
const int envId = ScilabJavaEnvironment::start();
- JavaOptionsSetter setter = ScilabJavaEnvironment::getInstance().getOptionsHelper().getSetter(JavaOptionsSetter::AUTOUNWRAP);
+ ScilabJavaEnvironment *javaEnvironment = ScilabJavaEnvironment::getInstance();
+ if (!javaEnvironment)
+ {
+ Scierror(999, "%s: No Java environment available (instance is null).", fname);
+ return 0;
+ }
+
+ JavaOptionsSetter setter = javaEnvironment->getOptionsHelper().getSetter(JavaOptionsSetter::AUTOUNWRAP);
return ScilabGateway::getsetOptions(fname, envId, setter, pvApiCtx);
}
catch (std::exception & e)
}
envId = ScilabJavaEnvironment::start();
- JavaOptionsSetter setter = ScilabJavaEnvironment::getInstance().getOptionsHelper().getSetter(JavaOptionsSetter::METHODOFCONV);
+ JavaOptionsSetter setter = ScilabJavaEnvironment::getInstance()->getOptionsHelper().getSetter(JavaOptionsSetter::METHODOFCONV);
ScilabAbstractEnvironment & env = ScilabEnvironments::getEnvironment(envId);
ScilabGatewayOptions & options = env.getGatewayOptions();
OptionsHelper::setCopyOccurred(false);
static void finish();
- static ScilabJavaEnvironment & getInstance()
+ static ScilabJavaEnvironment* getInstance()
{
- return *instance;
+ return instance;
}
JavaOptionsHelper & getOptionsHelper();