X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FXGUI%2FXGUI_Tools.cpp;h=ae2bb898412f6d02e03a09813dec6e30b8ef9058;hb=d5c7ad3c50f89a2ddc2de1866ffb7f09397f3be2;hp=cb66e1837fdaf24eb62da0d0f3ce818caf4f65e2;hpb=48f4b84b47b7ca9f54677b1bea41e0a065faad26;p=modules%2Fshaper.git diff --git a/src/XGUI/XGUI_Tools.cpp b/src/XGUI/XGUI_Tools.cpp index cb66e1837..ae2bb8984 100644 --- a/src/XGUI/XGUI_Tools.cpp +++ b/src/XGUI/XGUI_Tools.cpp @@ -250,40 +250,42 @@ QString generateName(const ModuleBase_ViewerPrsPtr& thePrs) if (aContext.get()) { GeomShapePtr aSubShape(new GeomAPI_Shape()); TopoDS_Shape aShape = ModuleBase_Tools::getSelectedShape(thePrs); - aSubShape->setImpl(new TopoDS_Shape(aShape)); - if (!aSubShape->isEqual(aContext)) { - QString aTypeName; - switch (aShape.ShapeType()) { - case TopAbs_COMPOUND: - aTypeName = "compound"; - break; - case TopAbs_COMPSOLID: - aTypeName = "compsolid"; - break; - case TopAbs_SOLID: - aTypeName = "solid"; - break; - case TopAbs_SHELL: - aTypeName = "shell"; - break; - case TopAbs_FACE: - aTypeName = "face"; - break; - case TopAbs_WIRE: - aTypeName = "wire"; - break; - case TopAbs_EDGE: - aTypeName = "edge"; - break; - case TopAbs_VERTEX: - aTypeName = "vertex"; - break; - case TopAbs_SHAPE: - aTypeName = "shape"; - break; + if (!aShape.IsNull()) { + aSubShape->setImpl(new TopoDS_Shape(aShape)); + if (!aSubShape->isEqual(aContext)) { + QString aTypeName; + switch (aShape.ShapeType()) { + case TopAbs_COMPOUND: + aTypeName = "compound"; + break; + case TopAbs_COMPSOLID: + aTypeName = "compsolid"; + break; + case TopAbs_SOLID: + aTypeName = "solid"; + break; + case TopAbs_SHELL: + aTypeName = "shell"; + break; + case TopAbs_FACE: + aTypeName = "face"; + break; + case TopAbs_WIRE: + aTypeName = "wire"; + break; + case TopAbs_EDGE: + aTypeName = "edge"; + break; + case TopAbs_VERTEX: + aTypeName = "vertex"; + break; + case TopAbs_SHAPE: + aTypeName = "shape"; + break; + } + int aId = GeomAlgoAPI_CompoundBuilder::id(aContext, aSubShape); + aName += QString("/%1_%2").arg(aTypeName).arg(aId); } - int aId = GeomAlgoAPI_CompoundBuilder::id(aContext, aSubShape); - aName += QString("/%1_%2").arg(aTypeName).arg(aId); } } return aName;