diff --git a/Utilities/otbossim/src/ossim/projection/ossimIkonosRpcModel.cpp b/Utilities/otbossim/src/ossim/projection/ossimIkonosRpcModel.cpp index 73b76a8dcaeef027b8250d52d87912c96a174b68..a0dc0f7aee0bd164d325d93ef057556eccabf3b0 100644 --- a/Utilities/otbossim/src/ossim/projection/ossimIkonosRpcModel.cpp +++ b/Utilities/otbossim/src/ossim/projection/ossimIkonosRpcModel.cpp @@ -848,12 +848,14 @@ bool ossimIkonosRpcModel::saveState(ossimKeywordlist& kwl, bool ossimIkonosRpcModel::loadState(const ossimKeywordlist& kwl, const char* prefix) { - if(theSupportData.valid()) + if( !theSupportData ) { - ossimString supportPrefix = ossimString(prefix) + "support_data."; - theSupportData->loadState(kwl, supportPrefix); + theSupportData = new ossimIkonosMetaData(); } + ossimString supportPrefix = ossimString(prefix) + "support_data."; + theSupportData->loadState(kwl, supportPrefix); + return ossimRpcModel::loadState(kwl, prefix); } diff --git a/Utilities/otbossim/src/ossim/projection/ossimQuickbirdRpcModel.cpp b/Utilities/otbossim/src/ossim/projection/ossimQuickbirdRpcModel.cpp index 7594b7f2a3764dffe1374977d8455b04baa24869..19aabc02f74e611cca5e4bffce4f1eaffd9a92ed 100644 --- a/Utilities/otbossim/src/ossim/projection/ossimQuickbirdRpcModel.cpp +++ b/Utilities/otbossim/src/ossim/projection/ossimQuickbirdRpcModel.cpp @@ -438,12 +438,14 @@ bool ossimQuickbirdRpcModel::saveState(ossimKeywordlist& kwl, bool ossimQuickbirdRpcModel::loadState(const ossimKeywordlist& kwl, const char* prefix) { - if(theSupportData.valid()) + if( !theSupportData ) { - ossimString supportPrefix = ossimString(prefix) + "support_data."; - theSupportData->loadState(kwl, supportPrefix); + theSupportData = new ossimQuickbirdMetaData(); } + ossimString supportPrefix = ossimString(prefix) + "support_data."; + theSupportData->loadState(kwl, supportPrefix); + return ossimRpcModel::loadState(kwl, prefix); }