From c84bcba8b44da41d67f3bae30d87d2872fbc9273 Mon Sep 17 00:00:00 2001
From: Julien Malik <julien.malik@c-s.fr>
Date: Sat, 22 Oct 2011 17:05:39 +0200
Subject: [PATCH] BUG: fix ossim bug to load calibration metadata from tif+geom
 file (http://trac.osgeo.org/ossim/ticket/2256)

---
 .../otbossim/src/ossim/projection/ossimIkonosRpcModel.cpp | 8 +++++---
 .../src/ossim/projection/ossimQuickbirdRpcModel.cpp       | 8 +++++---
 2 files changed, 10 insertions(+), 6 deletions(-)

diff --git a/Utilities/otbossim/src/ossim/projection/ossimIkonosRpcModel.cpp b/Utilities/otbossim/src/ossim/projection/ossimIkonosRpcModel.cpp
index 73b76a8dca..a0dc0f7aee 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 7594b7f2a3..19aabc02f7 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);
 }
 
-- 
GitLab