diff --git a/Code/ApplicationEngine/otbWrapperApplication.cxx b/Code/ApplicationEngine/otbWrapperApplication.cxx index 807e01de5c4f166c45e7db45832994787d1d3f10..9e87af74fba4caf3d6325baad6b89cef523e0bd8 100644 --- a/Code/ApplicationEngine/otbWrapperApplication.cxx +++ b/Code/ApplicationEngine/otbWrapperApplication.cxx @@ -116,19 +116,20 @@ void Application::ExecuteAndWriteOutput() it != paramList.end(); ++it) { - if (GetParameterType(*it) == ParameterType_OutputImage - && IsParameterEnabled(*it) ) + std::string key = *it; + if (GetParameterType(key) == ParameterType_OutputImage + && IsParameterEnabled(key) && HasValue(key) ) { - Parameter* param = GetParameterByKey(*it); + Parameter* param = GetParameterByKey(key); OutputImageParameter* outputParam = dynamic_cast<OutputImageParameter*>(param); outputParam->InitializeWriters(); AddProcess(outputParam->GetWriter(),"Writer"); outputParam->Write(); } - else if (GetParameterType(*it) == ParameterType_OutputVectorData - && IsParameterEnabled(*it) ) + else if (GetParameterType(key) == ParameterType_OutputVectorData + && IsParameterEnabled(key) && HasValue(key) ) { - Parameter* param = GetParameterByKey(*it); + Parameter* param = GetParameterByKey(key); OutputVectorDataParameter* outputParam = dynamic_cast<OutputVectorDataParameter*>(param); outputParam->InitializeWriters(); AddProcess(outputParam->GetWriter(),"Writer");