Salome HOME
PAL6938
[modules/smesh.git] / src / SMESHGUI / SMESHGUI_GroupDlg.cxx
index 4d7445df36f047f324a43d2e40df1bc07de1c05c..457cfecd347e9fa7c41c12f3694a9525aa6fb1d3 100644 (file)
@@ -797,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 )) {
@@ -1318,14 +1322,9 @@ void SMESHGUI_GroupDlg::onClose()
 {
   QAD_StudyFrame* aStudyFrame = mySMESHGUI->GetActiveStudy()->getActiveStudyFrame();
   if (aStudyFrame->getTypeView() == VIEW_VTK) {
+    SMESH::RemoveFilters(); // PAL6938 -- clean all mesh entity filters
     SMESH::SetPointRepresentation(false);
     SMESH::SetPickable();
-
-    // remove filters from viewer
-    if(VTKViewer_InteractorStyleSALOME* aStyle = SMESH::GetInteractorStyle()){
-      SMESH::RemoveFilter(SMESHGUI_EdgeFilter,aStyle);
-      SMESH::RemoveFilter(SMESHGUI_FaceFilter,aStyle);
-    }
   }
   
   mySelection->ClearIObjects();
@@ -1342,6 +1341,7 @@ void SMESHGUI_GroupDlg::onClose()
 //=======================================================================
 void SMESHGUI_GroupDlg::onDeactivate()
 {
+  mySMESHGUI->ResetState();
   setEnabled( false );
 }
 
@@ -1356,6 +1356,8 @@ void SMESHGUI_GroupDlg::enterEvent( QEvent* )
     setEnabled( true );
     mySelectionMode = -1;
     setSelectionMode( myTypeId );
+    mySMESHGUI->SetActiveDialogBox( (QDialog*)this ) ;
+    mySMESHGUI->SetState(800);
   }
 }