X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2FSketchPlugin%2FSketchPlugin_Sketch.cpp;h=839d3d96193df5376033321f5c030850cac60442;hb=3f01be441c3244407d583560f6c244187e8050dc;hp=32e0ec7a1ffcdf67632807ea5cd1e63827bc5d2c;hpb=9c457fba4299c60ab8bdb7178bce3ebda5db6ed4;p=modules%2Fshaper.git diff --git a/src/SketchPlugin/SketchPlugin_Sketch.cpp b/src/SketchPlugin/SketchPlugin_Sketch.cpp index 32e0ec7a1..839d3d961 100644 --- a/src/SketchPlugin/SketchPlugin_Sketch.cpp +++ b/src/SketchPlugin/SketchPlugin_Sketch.cpp @@ -326,8 +326,7 @@ void SketchPlugin_Sketch::attributeChanged(const std::string& theID) { std::shared_ptr aDirX = std::dynamic_pointer_cast( data()->attribute(SketchPlugin_Sketch::DIRX_ID())); aDirX->setValue(aXDir); - std::shared_ptr aDir = aPlane->direction(); - data()->blockSendAttributeUpdated(aWasBlocked, false); + data()->blockSendAttributeUpdated(aWasBlocked, true); } } } @@ -444,7 +443,11 @@ std::shared_ptr SketchPlugin_Sketch::plane(SketchPlugin_Sketch* the std::shared_ptr aNorm = std::dynamic_pointer_cast( aData->attribute(SketchPlugin_Sketch::NORM_ID())); - return std::shared_ptr(new GeomAPI_Ax3(anOrigin->pnt(), aDirX->dir(), aNorm->dir())); + if (aNorm.get() && aNorm->isInitialized() && anOrigin.get() && anOrigin->isInitialized()) + return std::shared_ptr( + new GeomAPI_Ax3(anOrigin->pnt(), aDirX->dir(), aNorm->dir())); + + return std::shared_ptr(); } bool SketchPlugin_Sketch::customAction(const std::string& theActionId)