From da4cf59247ec79d83da9149f9d2842bab86393d1 Mon Sep 17 00:00:00 2001
From: Christophe Geuzaine <cgeuzaine@ulg.ac.be>
Date: Wed, 4 Dec 2013 11:52:20 +0000
Subject: [PATCH] use linear interpol if failed to compute equidistant params

---
 Mesh/HighOrder.cpp | 6 ++++--
 doc/VERSIONS.txt   | 3 ++-
 2 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/Mesh/HighOrder.cpp b/Mesh/HighOrder.cpp
index b5f405bc9e..d24b905e6d 100644
--- a/Mesh/HighOrder.cpp
+++ b/Mesh/HighOrder.cpp
@@ -159,11 +159,13 @@ static void getEdgeVertices(GEdge *ge, MElement *ele, std::vector<MVertex*> &ve,
             if(relax < 1.e-2)
               break;
           }
-          if(relax < 1.e-2)
+          if(relax < 1.e-2){
             Msg::Warning
               ("Failed to compute equidistant parameters (relax = %g, value = %g) "
                "for edge %d-%d parametrized with %g %g on GEdge %d linear %d",
                relax, US[1], v0->getNum(), v1->getNum(),u0,u1,ge->tag(), linear);
+            reparamOK = false;
+          }
         }
         else{
           Msg::Error("Cannot reparam a mesh Vertex in high order meshing");
@@ -230,7 +232,7 @@ static void getEdgeVertices(GFace *gf, MElement *ele, std::vector<MVertex*> &ve,
 	  else {
 	    US[0]      =  p0[0];
 	    VS[0]      =  p0[1];
-	    US[nPts+1] =  p1[0]; 
+	    US[nPts+1] =  p1[0];
 	    VS[nPts+1] =  p1[1];
 	    for(int j = 0; j < nPts; j++){
 	      const double t = (double)(j + 1) / (nPts + 1);
diff --git a/doc/VERSIONS.txt b/doc/VERSIONS.txt
index 875dbe30b0..6ae99457ea 100644
--- a/doc/VERSIONS.txt
+++ b/doc/VERSIONS.txt
@@ -1,4 +1,5 @@
-2.8.4 (): better reproductibility of 2D meshes; small improvements and bug
+2.8.4 (): better reproductibility of 2D meshes; new mandatory 'Name' attribute
+to define onelab variables in DefineConstant[] & co; small improvements and bug
 fixes.
 
 2.8.3 (Sep 27, 2013): new quick access menu and multiple view selection in GUI;
-- 
GitLab