Salome HOME
0020847: EDF 1378 SMESH : Selection problem with symetry + translation
[modules/smesh.git] / src / SMESHGUI / SMESHGUI_ExtrusionAlongPathDlg.cxx
index 4b4a633e92ec1d3b15995d9512b0a397459f96a4..868373139f12e815d0cdc5b68ad6fd6eae825588 100644 (file)
@@ -472,7 +472,7 @@ bool SMESHGUI_ExtrusionAlongPathDlg::ClickOnApply()
   //if (myMesh->_is_nil() || MeshCheck->isChecked() && myIDSource->_is_nil() ||
   //    !myMeshActor || myPathMesh->_is_nil() || myPathShape->_is_nil())
   if ( myMesh->_is_nil() || MeshCheck->isChecked() && myIDSource->_is_nil() ||
-       !myMeshActor || myPath->_is_nil() )
+       /*!myMeshActor ||*/ myPath->_is_nil() )
     return false;
 
   if (!isValid())
@@ -484,7 +484,10 @@ bool SMESHGUI_ExtrusionAlongPathDlg::ClickOnApply()
     // If "Select whole mesh, submesh or group" check box is off ->
     // use only elements of given type selected by user
 
-    SMDS_Mesh* aMesh = myMeshActor->GetObject()->GetMesh();
+    SMDS_Mesh* aMesh;
+    if ( myMeshActor )
+      aMesh = myMeshActor->GetObject()->GetMesh();
+
     if (aMesh) {
       QStringList aListElementsId = ElementsLineEdit->text().split(" ", QString::SkipEmptyParts);
       anElementsId = new SMESH::long_array;
@@ -664,7 +667,9 @@ bool SMESHGUI_ExtrusionAlongPathDlg::ClickOnApply()
   }
 
   //mySelectionMgr->clearSelected();
-  SMESH::Update( myMeshActor->getIO(), myMeshActor->GetVisibility() );
+  if ( myMeshActor )
+    SMESH::Update( myMeshActor->getIO(), myMeshActor->GetVisibility() );
+    
   if ( MakeGroupsCheck->isEnabled() && MakeGroupsCheck->isChecked() )
     mySMESHGUI->updateObjBrowser(true); // new groups may appear
   //SMESH::UpdateView();
@@ -855,7 +860,7 @@ void SMESHGUI_ExtrusionAlongPathDlg::SelectionIntoArgument()
     }
     // find actor
     myMeshActor = SMESH::FindActorByObject(myMesh);
-    if (!myMeshActor)
+    if (!myMeshActor && !MeshCheck->isChecked())
       return;
 
     if (MeshCheck->isChecked()) {
@@ -988,7 +993,7 @@ void SMESHGUI_ExtrusionAlongPathDlg::SetEditCurrentArgument()
 void SMESHGUI_ExtrusionAlongPathDlg::SetEditCurrentArgument (QToolButton* button)
 {
   disconnect(mySelectionMgr, 0, this, 0);
-  mySelectionMgr->clearSelected();
+  //  mySelectionMgr->clearSelected();
   mySelectionMgr->clearFilters();
   SMESH::SetPickable();