diff --git a/Common/Gmsh.cpp b/Common/Gmsh.cpp index cec3d9828a79c878cad08c317750c0d1a38d0962..103dee45b653c1a10412cb35fede545ee392d9f9 100644 --- a/Common/Gmsh.cpp +++ b/Common/Gmsh.cpp @@ -240,19 +240,15 @@ int GmshFinalize() { #if defined(HAVE_POST) // Delete all PViewData stored in static list of PView class - for(unsigned int i = 0; i < PView::list.size(); i++) { - delete PView::list[i]; - } - PView::list.clear(); + while(PView::list.size()>0) delete PView::list[PView::list.size()-1]; std::vector<PView*>().swap(PView::list); // Delete static _interpolationSchemes of PViewData class PViewData::removeAllInterpolationSchemes(); #endif + // Delete all Gmodels - for(unsigned int i = 0; i < GModel::list.size(); i++) - delete GModel::list[i]; - GModel::list.clear(); + while(GModel::list.size()>0) delete GModel::list[GModel::list.size()-1]; std::vector<GModel*>().swap(GModel::list); return 1;