From 9dd38eb01ab5852dd96f8671db7bd00bb71ed717 Mon Sep 17 00:00:00 2001 From: dmv Date: Wed, 19 Nov 2008 13:31:56 +0000 Subject: [PATCH] Fix problem with local selection in Create Point Dialog --- src/BasicGUI/BasicGUI_PointDlg.cxx | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/BasicGUI/BasicGUI_PointDlg.cxx b/src/BasicGUI/BasicGUI_PointDlg.cxx index 86ad31307..48d7f92e4 100644 --- a/src/BasicGUI/BasicGUI_PointDlg.cxx +++ b/src/BasicGUI/BasicGUI_PointDlg.cxx @@ -417,11 +417,10 @@ void BasicGUI_PointDlg::SelectionIntoArgument() if (!CORBA::is_nil(aSelectedObject) && aRes) { QString aName = GEOMBase::GetName(aSelectedObject); - + TopAbs_ShapeEnum aNeedType = TopAbs_VERTEX; TopoDS_Shape aShape; if (GEOMBase::GetShape(aSelectedObject, aShape, TopAbs_SHAPE) && !aShape.IsNull()) { - TopAbs_ShapeEnum aNeedType = TopAbs_VERTEX; if (id == 2 || id == 3) aNeedType = TopAbs_EDGE; if(id == 4) @@ -447,6 +446,7 @@ void BasicGUI_PointDlg::SelectionIntoArgument() } else aSelectedObject = aFindedObject; // get Object from study + GEOMBase::GetShape(aSelectedObject, aShape, TopAbs_SHAPE); } else // Global Selection { @@ -460,7 +460,8 @@ void BasicGUI_PointDlg::SelectionIntoArgument() if (id == 0) { - if (aShape.IsNull()) return; + if (aShape.IsNull() || aShape.ShapeType() != aNeedType) + return; gp_Pnt aPnt = BRep_Tool::Pnt( TopoDS::Vertex( aShape ) ); GroupXYZ->SpinBox_DX->SetValue( aPnt.X() ); GroupXYZ->SpinBox_DY->SetValue( aPnt.Y() ); -- 2.39.2