From 94cc9d552c041f075351450f6418d9e5799c562d Mon Sep 17 00:00:00 2001
From: Guillaume Pasero <guillaume.pasero@c-s.fr>
Date: Fri, 16 Feb 2018 18:33:26 +0100
Subject: [PATCH] BUG: only modify parameters if different

---
 .../Applications/AppImageUtils/app/otbQuicklook.cxx | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/Modules/Applications/AppImageUtils/app/otbQuicklook.cxx b/Modules/Applications/AppImageUtils/app/otbQuicklook.cxx
index b3b12a6efd..f7f9db4a94 100644
--- a/Modules/Applications/AppImageUtils/app/otbQuicklook.cxx
+++ b/Modules/Applications/AppImageUtils/app/otbQuicklook.cxx
@@ -183,15 +183,20 @@ bool CropRegionOfInterest()
     region.SetSize(1,  GetParameterInt("rsy"));
     region.SetIndex(0, GetParameterInt("rox"));
     region.SetIndex(1, GetParameterInt("roy"));
+    FloatVectorImageType::RegionType region0 = region;
 
     if ( HasValue("in") )
       {
         if (region.Crop(GetParameterImage("in")->GetLargestPossibleRegion()))
           {
-            SetParameterInt( "rsx", region.GetSize(0));
-            SetParameterInt( "rsy", region.GetSize(1));
-            SetParameterInt( "rox", region.GetIndex(0));
-            SetParameterInt( "roy", region.GetIndex(1));
+            if (region0.GetSize(0) != region.GetSize(0))
+              SetParameterInt( "rsx", region.GetSize(0));
+            if (region0.GetSize(1) != region.GetSize(1))
+              SetParameterInt( "rsy", region.GetSize(1));
+            if (region0.GetIndex(0) != region.GetIndex(0))
+              SetParameterInt( "rox", region.GetIndex(0));
+            if (region0.GetIndex(1) != region.GetIndex(1))
+              SetParameterInt( "roy", region.GetIndex(1));
             return true;
           }
       }
-- 
GitLab