From 2cbc0e004d9802964be66ecb762c58c126cbb023 Mon Sep 17 00:00:00 2001 From: vsr Date: Mon, 27 May 2013 14:50:33 +0000 Subject: [PATCH] Fix regression (SIGSEGV) caused by improvement 0022099 --- src/SMESHGUI/SMESHGUI_RotationDlg.cxx | 6 ++++-- src/SMESHGUI/SMESHGUI_ScaleDlg.cxx | 6 ++++-- src/SMESHGUI/SMESHGUI_SymmetryDlg.cxx | 6 ++++-- src/SMESHGUI/SMESHGUI_TranslationDlg.cxx | 6 ++++-- 4 files changed, 16 insertions(+), 8 deletions(-) diff --git a/src/SMESHGUI/SMESHGUI_RotationDlg.cxx b/src/SMESHGUI/SMESHGUI_RotationDlg.cxx index 4c495d65e..c451a29c4 100644 --- a/src/SMESHGUI/SMESHGUI_RotationDlg.cxx +++ b/src/SMESHGUI/SMESHGUI_RotationDlg.cxx @@ -525,8 +525,10 @@ bool SMESHGUI_RotationDlg::ClickOnApply() } catch (...) { } - for ( int i = 0; i < myMeshes.count(); i++ ) - SMESH::Update( (SMESH::FindActorByObject( myMeshes[i] ))->getIO(), true ); + for ( int i = 0; i < myObjects.count(); i++ ) { + SMESH_Actor* actor = SMESH::FindActorByObject( myObjects[i] ); + if ( actor ) SMESH::Update( actor->getIO(), true ); + } if ( ( MakeGroupsCheck->isEnabled() && MakeGroupsCheck->isChecked() ) || actionButton == MAKE_MESH_BUTTON ) { diff --git a/src/SMESHGUI/SMESHGUI_ScaleDlg.cxx b/src/SMESHGUI/SMESHGUI_ScaleDlg.cxx index 859c5a783..ef39d4373 100644 --- a/src/SMESHGUI/SMESHGUI_ScaleDlg.cxx +++ b/src/SMESHGUI/SMESHGUI_ScaleDlg.cxx @@ -564,8 +564,10 @@ bool SMESHGUI_ScaleDlg::ClickOnApply() } catch (...) { } - for ( int i = 0; i < myMeshes.count(); i++ ) - SMESH::Update( (SMESH::FindActorByObject( myMeshes[i] ))->getIO(), true ); + for ( int i = 0; i < myObjects.count(); i++ ) { + SMESH_Actor* actor = SMESH::FindActorByObject( myObjects[i] ); + if ( actor ) SMESH::Update( actor->getIO(), true ); + } if ( ( MakeGroupsCheck->isEnabled() && MakeGroupsCheck->isChecked() ) || actionButton == MAKE_MESH_BUTTON ) { diff --git a/src/SMESHGUI/SMESHGUI_SymmetryDlg.cxx b/src/SMESHGUI/SMESHGUI_SymmetryDlg.cxx index 64d335709..3dd0cadc1 100644 --- a/src/SMESHGUI/SMESHGUI_SymmetryDlg.cxx +++ b/src/SMESHGUI/SMESHGUI_SymmetryDlg.cxx @@ -583,8 +583,10 @@ bool SMESHGUI_SymmetryDlg::ClickOnApply() } catch (...) { } - for ( int i = 0; i < myMeshes.count(); i++ ) - SMESH::Update( (SMESH::FindActorByObject( myMeshes[i] ))->getIO(), true ); + for ( int i = 0; i < myObjects.count(); i++ ) { + SMESH_Actor* actor = SMESH::FindActorByObject( myObjects[i] ); + if ( actor ) SMESH::Update( actor->getIO(), true ); + } if ( ( MakeGroupsCheck->isEnabled() && MakeGroupsCheck->isChecked() ) || actionButton == MAKE_MESH_BUTTON ) { diff --git a/src/SMESHGUI/SMESHGUI_TranslationDlg.cxx b/src/SMESHGUI/SMESHGUI_TranslationDlg.cxx index ca047bcb8..1abc292e4 100644 --- a/src/SMESHGUI/SMESHGUI_TranslationDlg.cxx +++ b/src/SMESHGUI/SMESHGUI_TranslationDlg.cxx @@ -592,8 +592,10 @@ bool SMESHGUI_TranslationDlg::ClickOnApply() } catch (...) { } - for ( int i = 0; i < myMeshes.count(); i++ ) - SMESH::Update( (SMESH::FindActorByObject( myMeshes[i] ))->getIO(), true ); + for ( int i = 0; i < myObjects.count(); i++ ) { + SMESH_Actor* actor = SMESH::FindActorByObject( myObjects[i] ); + if ( actor ) SMESH::Update( actor->getIO(), true ); + } if ( ( MakeGroupsCheck->isEnabled() && MakeGroupsCheck->isChecked() ) || actionButton == MAKE_MESH_BUTTON ) {