From 76098ab2735bf963ce7a169809e331397a6a5082 Mon Sep 17 00:00:00 2001
From: Amaury Johnan <amjohnen@gmail.com>
Date: Mon, 25 Apr 2016 15:04:11 +0000
Subject: [PATCH] avoid infinite optimization when it is unable to obtain a
 result that satisfies to requirement

---
 contrib/HighOrderMeshOptimizer/OptHomRun.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/contrib/HighOrderMeshOptimizer/OptHomRun.cpp b/contrib/HighOrderMeshOptimizer/OptHomRun.cpp
index 7999af6218..cd62cfd667 100644
--- a/contrib/HighOrderMeshOptimizer/OptHomRun.cpp
+++ b/contrib/HighOrderMeshOptimizer/OptHomRun.cpp
@@ -675,7 +675,7 @@ void HighOrderMeshOptimizer(GModel *gm, OptHomParameters &p)
     else
       optimizeOneByOne(vertex2elements, element2entity, badasses, p, samples);
     if (p.numBlobs) periodicity.fixPeriodicity();
-  } while (p.numBlobs);
+  } while (p.SUCCESS == 1 && p.numBlobs);
 
   if (p.SUCCESS == 1)
     Msg::Info("Optimization succeeded");
-- 
GitLab