From: mzn Date: Mon, 25 May 2015 13:50:28 +0000 (+0300) Subject: refs #550: fix crash when myObject is NULL X-Git-Tag: v1.4.1~7^2~6 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=a53349567d67f4df0ef737798a25c24d9dc8f08e;p=modules%2Fhydro.git refs #550: fix crash when myObject is NULL --- diff --git a/src/HYDROGUI/HYDROGUI_Shape.cxx b/src/HYDROGUI/HYDROGUI_Shape.cxx index b837ec30..60962d74 100644 --- a/src/HYDROGUI/HYDROGUI_Shape.cxx +++ b/src/HYDROGUI/HYDROGUI_Shape.cxx @@ -444,7 +444,7 @@ QColor HYDROGUI_Shape::getFillingColor() const void HYDROGUI_Shape::setBorderColor( const QColor& theColor, const bool theToDisplay, const bool theIsUpdateViewer ) -{ +{ myBorderColor = theColor; updateShape( theToDisplay, theIsUpdateViewer ); } @@ -476,15 +476,16 @@ void HYDROGUI_Shape::setZLayer( const int theZLayer ) Handle_AIS_InteractiveObject HYDROGUI_Shape::createShape() const { - if( myTopoShape.IsNull() ) + if( myTopoShape.IsNull() ) { return Handle_AIS_InteractiveObject(); - else - if ( myObject->IsKind( STANDARD_TYPE(HYDROData_PolylineXY) ) || - myObject->IsKind( STANDARD_TYPE(HYDROData_Polyline3D)) || - myObject->IsKind( STANDARD_TYPE(HYDROData_Profile) )) - return new HYDROGUI_Polyline(myTopoShape); - else - return new AIS_Shape( myTopoShape ); + } + + TopAbs_ShapeEnum aShapeType = myTopoShape.ShapeType(); + if ( aShapeType==TopAbs_EDGE || aShapeType==TopAbs_WIRE ) { + return new HYDROGUI_Polyline( myTopoShape ); + } else { + return new AIS_Shape( myTopoShape ); + } } void HYDROGUI_Shape::buildShape()