From 396a60d4bb68195f8f05b626598f0ad46c636aff Mon Sep 17 00:00:00 2001 From: vsr Date: Mon, 4 Oct 2010 14:16:14 +0000 Subject: [PATCH] Merge from BR_WIN_INDUS_514 04/10/2010 --- src/SMESHGUI/SMESHGUI_MeshInfosDlg.cxx | 4 +++- src/SMESH_I/SMESH_Group_i.hxx | 2 +- src/SMESH_I/SMESH_Mesh_i.cxx | 11 ++++++++--- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/src/SMESHGUI/SMESHGUI_MeshInfosDlg.cxx b/src/SMESHGUI/SMESHGUI_MeshInfosDlg.cxx index 01ba22253..40def53ab 100644 --- a/src/SMESHGUI/SMESHGUI_MeshInfosDlg.cxx +++ b/src/SMESHGUI/SMESHGUI_MeshInfosDlg.cxx @@ -141,7 +141,9 @@ SMESHGUI_MeshInfosDlg::SMESHGUI_MeshInfosDlg(SMESHGUI* theModule): // buttons --> OK and Help buttons myOkBtn = new QPushButton(tr("SMESH_BUT_OK" ), myButtonsGroup); - myOkBtn->setAutoDefault(true); myOkBtn->setDefault(true); + myOkBtn->setAutoDefault(true); + myOkBtn->setDefault(true); + myOkBtn->setFocus(); myHelpBtn = new QPushButton(tr("SMESH_BUT_HELP" ), myButtonsGroup); myHelpBtn->setAutoDefault(true); diff --git a/src/SMESH_I/SMESH_Group_i.hxx b/src/SMESH_I/SMESH_Group_i.hxx index 60d61f6c0..3b1b08eaa 100644 --- a/src/SMESH_I/SMESH_Group_i.hxx +++ b/src/SMESH_I/SMESH_Group_i.hxx @@ -98,7 +98,7 @@ private: int myLocalID; void changeLocalId(int localId) { myLocalID = localId; } - friend void SMESH_Mesh_i::CheckGeomGroupModif(); + friend class SMESH_Mesh_i; }; // ====== diff --git a/src/SMESH_I/SMESH_Mesh_i.cxx b/src/SMESH_I/SMESH_Mesh_i.cxx index 68adc8e6e..bb8c8b497 100644 --- a/src/SMESH_I/SMESH_Mesh_i.cxx +++ b/src/SMESH_I/SMESH_Mesh_i.cxx @@ -121,24 +121,27 @@ SMESH_Mesh_i::~SMESH_Mesh_i() { INFOS("~SMESH_Mesh_i"); +#ifdef WITHGENERICOBJ // destroy groups map::iterator itGr; for (itGr = _mapGroups.begin(); itGr != _mapGroups.end(); itGr++) { + if ( CORBA::is_nil( itGr->second )) + continue; SMESH_GroupBase_i* aGroup = dynamic_cast(SMESH_Gen_i::GetServant(itGr->second).in()); if (aGroup) { // this method is called from destructor of group (PAL6331) //_impl->RemoveGroup( aGroup->GetLocalID() ); -#ifdef WITHGENERICOBJ + aGroup->myMeshServant = 0; aGroup->Destroy(); -#endif } } _mapGroups.clear(); -#ifdef WITHGENERICOBJ // destroy submeshes map::iterator itSM; for ( itSM = _mapSubMeshIor.begin(); itSM != _mapSubMeshIor.end(); itSM++ ) { + if ( CORBA::is_nil( itSM->second )) + continue; SMESH_subMesh_i* aSubMesh = dynamic_cast(SMESH_Gen_i::GetServant(itSM->second).in()); if (aSubMesh) { aSubMesh->Destroy(); @@ -149,6 +152,8 @@ SMESH_Mesh_i::~SMESH_Mesh_i() // destroy hypotheses map::iterator itH; for ( itH = _mapHypo.begin(); itH != _mapHypo.end(); itH++ ) { + if ( CORBA::is_nil( itH->second )) + continue; SMESH_Hypothesis_i* aHypo = dynamic_cast(SMESH_Gen_i::GetServant(itH->second).in()); if (aHypo) { aHypo->Destroy(); -- 2.30.2