From 16c26c947bdaa64155472325734c19eaf9356d89 Mon Sep 17 00:00:00 2001 From: eap Date: Wed, 15 Feb 2017 19:29:50 +0300 Subject: [PATCH] 23413: [CEA 2025] bug SMESH orientation Avoid crash on an empty group --- src/MEDLoader/SauvWriter.cxx | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/MEDLoader/SauvWriter.cxx b/src/MEDLoader/SauvWriter.cxx index 474059de7..a337b1778 100644 --- a/src/MEDLoader/SauvWriter.cxx +++ b/src/MEDLoader/SauvWriter.cxx @@ -450,17 +450,21 @@ void SauvWriter::fillGroupSubMeshes() ++k; } } + if ( k == 0 ) + continue; // if a family exists but has no element, no submesh has been found for this family // => we have to resize famSubMeshes with the number of submeshes stored if (k != famNames.size()) - famSubMeshes.resize(k); + famSubMeshes.resize(k); SubMesh* grpSubMesh = addSubMesh( groupName, famSubMeshes[0]->_dimRelExt ); - if(!_cpy_grp_if_on_single_family) - grpSubMesh->_subs.swap( famSubMeshes ); + if( ! _cpy_grp_if_on_single_family ) + { + grpSubMesh->_subs.swap( famSubMeshes ); + } else { - /* If a group sub mesh consists of only one family, the group is written as - * a copy of this family. + /* If a group sub mesh consists of only one family, the group is written as + * a copy of this family. * A mesh composed of only one submesh may cause an issue with some Gibi operators.*/ if (famSubMeshes.size() == 1) { -- 2.39.2