From d3f84b4fcd5b8dabb2f36cd4a0d38cef7030f269 Mon Sep 17 00:00:00 2001 From: Christophe Geuzaine <cgeuzaine@ulg.ac.be> Date: Sun, 18 Mar 2007 23:02:26 +0000 Subject: [PATCH] bug: fixed nasty double free in GEdge destructor --- Geo/GEdge.cpp | 5 ++--- Geo/GModel.cpp | 3 ++- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Geo/GEdge.cpp b/Geo/GEdge.cpp index 8c43b0db86..f7ae18bdcd 100644 --- a/Geo/GEdge.cpp +++ b/Geo/GEdge.cpp @@ -1,4 +1,4 @@ -// $Id: GEdge.cpp,v 1.24 2007-03-09 14:57:06 remacle Exp $ +// $Id: GEdge.cpp,v 1.25 2007-03-18 23:02:26 geuzaine Exp $ // // Copyright (C) 1997-2007 C. Geuzaine, J.-F. Remacle // @@ -36,7 +36,7 @@ GEdge::GEdge(GModel *model, int tag, GVertex *_v0, GVertex *_v1) GEdge::~GEdge() { if(v0) v0->delEdge(this); - if(v1) v1->delEdge(this); + if(v1 && v1 != v0) v1->delEdge(this); for(unsigned int i = 0; i < mesh_vertices.size(); i++) delete mesh_vertices[i]; @@ -132,7 +132,6 @@ SPoint2 GEdge::reparamOnFace(GFace *face, double epar,int dir) const return face->parFromPoint(sp3); } - double GEdge::curvature(double par) const { double eps1 = 1.e-3; diff --git a/Geo/GModel.cpp b/Geo/GModel.cpp index de4deaf3a0..5f79b9b2fa 100644 --- a/Geo/GModel.cpp +++ b/Geo/GModel.cpp @@ -1,4 +1,4 @@ -// $Id: GModel.cpp,v 1.35 2007-03-02 08:44:55 geuzaine Exp $ +// $Id: GModel.cpp,v 1.36 2007-03-18 23:02:26 geuzaine Exp $ // // Copyright (C) 1997-2007 C. Geuzaine, J.-F. Remacle // @@ -45,6 +45,7 @@ void GModel::destroy() gmshSurface::reset(); Attractor::reset(); } + GRegion * GModel::regionByTag(int n) const { GEntity tmp((GModel*)this, n); -- GitLab