X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSMESHGUI%2FSMESHGUI_GroupDlg.cxx;h=a83f360b5c664175e151c595341b5dc8699de69e;hb=cf821820616e8898e3abcd46608c4ba2e054c188;hp=ed7295a118ce4c509100660c738021af0a52acfc;hpb=e4737e85f0da6d3f90fd08f6be1c2825195fe16f;p=modules%2Fsmesh.git diff --git a/src/SMESHGUI/SMESHGUI_GroupDlg.cxx b/src/SMESHGUI/SMESHGUI_GroupDlg.cxx index ed7295a11..a83f360b5 100644 --- a/src/SMESHGUI/SMESHGUI_GroupDlg.cxx +++ b/src/SMESHGUI/SMESHGUI_GroupDlg.cxx @@ -498,6 +498,10 @@ void SMESHGUI_GroupDlg::onGrpTypeChanged(int id) //================================================================================= void SMESHGUI_GroupDlg::setSelectionMode(int theMode) { + // PAL7314 + if (myMesh->_is_nil()) + return; + if (mySelectionMode != theMode) { mySelection->ClearIObjects(); mySelection->ClearFilters(); @@ -793,7 +797,11 @@ void SMESHGUI_GroupDlg::onObjectSelectionChanged() SALOMEDS::SObject_var aGroupMainShapeSO = aStudy->FindObjectIOR( aStudy->ConvertObjectToIOR(aGroupMainShape) ); // The mesh SObject SALOMEDS::SObject_var aMeshSO = aStudy->FindObjectIOR( aStudy->ConvertObjectToIOR(myMesh) ); - + if ( aMeshSO->_is_nil() ) { + myGeomGroup = GEOM::GEOM_Object::_nil(); + busy = false; + return; + } SALOMEDS::SObject_var anObj, aRef; bool isRefOrSubShape = false; if ( aMeshSO->FindSubObject( 1, anObj ) && anObj->ReferencedObject( aRef )) { @@ -1338,6 +1346,7 @@ void SMESHGUI_GroupDlg::onClose() //======================================================================= void SMESHGUI_GroupDlg::onDeactivate() { + mySMESHGUI->ResetState(); setEnabled( false ); } @@ -1352,6 +1361,8 @@ void SMESHGUI_GroupDlg::enterEvent( QEvent* ) setEnabled( true ); mySelectionMode = -1; setSelectionMode( myTypeId ); + mySMESHGUI->SetActiveDialogBox( (QDialog*)this ) ; + mySMESHGUI->SetState(800); } }