From fc30c7637346bac89728a36ce376ac3cf6d6d650 Mon Sep 17 00:00:00 2001
From: Rashad Kanavath <mohammed.rashad-km@cnes.fr>
Date: Fri, 18 Jul 2014 16:40:54 +0200
Subject: [PATCH] WRG: use itk assert instead of system assert to prevent
 warning in release and debug mode

---
 Code/BasicFilters/otbLabelImageRegionPruningFilter.txx    | 7 +++++--
 .../OGRAdapters/otbOGRFeatureWrapper.txx                  | 8 +++-----
 2 files changed, 8 insertions(+), 7 deletions(-)

diff --git a/Code/BasicFilters/otbLabelImageRegionPruningFilter.txx b/Code/BasicFilters/otbLabelImageRegionPruningFilter.txx
index 37a2a04056..f7ecaa77a2 100644
--- a/Code/BasicFilters/otbLabelImageRegionPruningFilter.txx
+++ b/Code/BasicFilters/otbLabelImageRegionPruningFilter.txx
@@ -402,13 +402,16 @@ LabelImageRegionPruningFilter<TInputLabelImage, TInputSpectralImage, TOutputLabe
 
       LabelType l = outputIt.Get();
       LabelType canLabel;
-      assert(m_CanonicalLabels[l] <= oldRegionCount);
+      if (m_CanonicalLabels[l] <= oldRegionCount)
+        {
+        itkAssertInDebugAndIgnoreInReleaseMacro( 0 );
+        }
       canLabel = newLabels[m_CanonicalLabels[l]];
       outputIt.Set( canLabel );
-
       ++outputIt;
       }
 
+
     finishedPruning =  !minRegionCount ||  regionCount == 1 ||  pruneIterations>=10;
 
     // only one iteration for now
diff --git a/Code/UtilitiesAdapters/OGRAdapters/otbOGRFeatureWrapper.txx b/Code/UtilitiesAdapters/OGRAdapters/otbOGRFeatureWrapper.txx
index d713e4abdb..f2200ddd29 100644
--- a/Code/UtilitiesAdapters/OGRAdapters/otbOGRFeatureWrapper.txx
+++ b/Code/UtilitiesAdapters/OGRAdapters/otbOGRFeatureWrapper.txx
@@ -145,10 +145,8 @@ void otb::ogr::Feature::SetGeometryDirectly(UniqueGeometryPtr geometry)
   CheckInvariants();
   OGRGeometry * g = geometry.get();
   UncheckedSetGeometryDirectly(otb::move(geometry));
-  assert(m_Feature->GetGeometryRef() == g && "The new geometry hasn't been set as expected");
-  assert(! geometry && "UniqueGeometryPtr hasn't released its pointer");
-  // avoid unused variable warning
-  g=NULL;
+  itkAssertOrThrowMacro((m_Feature->GetGeometryRef() == g), "The new geometry hasn't been set as expected");
+  itkAssertOrThrowMacro(!geometry, "UniqueGeometryPtr hasn't released its pointer");
 }
 
 inline
@@ -156,7 +154,7 @@ otb::ogr::UniqueGeometryPtr otb::ogr::Feature::StealGeometry()
 {
   CheckInvariants();
   UniqueGeometryPtr res = UncheckedStealGeometry();
-  assert(! m_Feature->GetGeometryRef() && "Geometry hasn't been properly stolen");
+  itkAssertOrThrowMacro(!m_Feature->GetGeometryRef(), "Geometry hasn't been properly stolen");
   return otb::move(res);
 }
 
-- 
GitLab