mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2025-02-26 19:35:38 +05:00
IPAL52939: SIGSEGV when Compute a mesh with closed VTK Viewer
This commit is contained in:
parent
a5a9b778aa
commit
c149fe2963
@ -2917,7 +2917,7 @@ void SMESHGUI_MeshInfoDlg::showInfo( const Handle(SALOME_InteractiveObject)& IO
|
||||
myCtrlInfo->showInfo( obj );
|
||||
|
||||
myActor = SMESH::FindActorByEntry( IO->getEntry() );
|
||||
SVTK_Selector* selector = SMESH::GetViewWindow()->GetSelector();
|
||||
SVTK_Selector* selector = SMESH::GetSelector();
|
||||
QString ID;
|
||||
int nb = 0;
|
||||
if ( myActor && selector ) {
|
||||
@ -3081,7 +3081,7 @@ void SMESHGUI_MeshInfoDlg::modeChanged()
|
||||
*/
|
||||
void SMESHGUI_MeshInfoDlg::idChanged()
|
||||
{
|
||||
SVTK_Selector* selector = SMESH::GetViewWindow()->GetSelector();
|
||||
SVTK_Selector* selector = SMESH::GetSelector();
|
||||
if ( myActor && selector ) {
|
||||
Handle(SALOME_InteractiveObject) IO = myActor->getIO();
|
||||
TColStd_MapOfInteger ID;
|
||||
|
@ -2666,7 +2666,7 @@ void SMESHGUI_MeshOp::onAlgoSetByMeshType( const int theTabIndex, const int theI
|
||||
* \param theIndex - Index of current type of mesh
|
||||
*/
|
||||
//================================================================================
|
||||
void SMESHGUI_MeshOp::setFilteredAlgoData( const int theTabIndex, const int theIndex)
|
||||
void SMESHGUI_MeshOp::setFilteredAlgoData( const int theTabIndex, const int theIndex )
|
||||
{
|
||||
QStringList anAvailableAlgs;
|
||||
QString anCompareType = currentMeshTypeName( theIndex );
|
||||
@ -2684,7 +2684,7 @@ void SMESHGUI_MeshOp::setFilteredAlgoData( const int theTabIndex, const int theI
|
||||
anCurrentAvailableAlgo = -1;
|
||||
isNone = currentHyp( dim, Algo ) < 0;
|
||||
//return current algo in current tab and set new algorithm list
|
||||
HypothesisData* algoCur;
|
||||
HypothesisData* algoCur = 0;
|
||||
if ( !isNone && !myAvailableHypData[dim][Algo].empty() ) {
|
||||
algoCur = myAvailableHypData[dim][Algo].at( currentHyp( dim, Algo ) );
|
||||
}
|
||||
|
@ -298,9 +298,10 @@ namespace SMESH
|
||||
aPixmap->SetPixMap( pmName );
|
||||
|
||||
_PTR(ChildIterator) anIter = aStudy->NewChildIterator(theSObject);
|
||||
for (int i = 1; anIter->More(); anIter->Next(), i++) {
|
||||
for ( ; anIter->More(); anIter->Next() ) {
|
||||
_PTR(SObject) aSObj = anIter->Value();
|
||||
/*if (i >= 1)*/ {
|
||||
if ( aSObj->Tag() >= SMESH::Tag_FirstSubMesh )
|
||||
{
|
||||
_PTR(ChildIterator) anIter1 = aStudy->NewChildIterator(aSObj);
|
||||
for ( ; anIter1->More(); anIter1->Next())
|
||||
{
|
||||
@ -339,7 +340,7 @@ namespace SMESH
|
||||
else
|
||||
aPixmap->SetPixMap( "ICON_SMESH_TREE_GROUP" );
|
||||
}
|
||||
else
|
||||
else // is it necessary?
|
||||
{
|
||||
if ( !theIsNotModif )
|
||||
aPixmap->SetPixMap( pmName );
|
||||
|
@ -773,6 +773,7 @@ namespace SMESH
|
||||
anActor->SetVisibility(false);
|
||||
aStudy->setVisibilityState(theEntry, Qtx::HiddenState);
|
||||
break;
|
||||
default:;
|
||||
}
|
||||
} else {
|
||||
switch (theAction) {
|
||||
@ -799,6 +800,7 @@ namespace SMESH
|
||||
}
|
||||
break;
|
||||
}
|
||||
default:;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -808,16 +810,20 @@ namespace SMESH
|
||||
}
|
||||
|
||||
|
||||
bool UpdateView(EDisplaing theAction, const char* theEntry){
|
||||
bool UpdateView(EDisplaing theAction, const char* theEntry) {
|
||||
//MESSAGE("UpdateView");
|
||||
SalomeApp_Study* aStudy = dynamic_cast< SalomeApp_Study* >( GetActiveStudy() );
|
||||
SalomeApp_Application* app = dynamic_cast< SalomeApp_Application* >( aStudy->application() );
|
||||
SUIT_ViewWindow *aWnd = app->activeViewManager()->getActiveView();
|
||||
if ( SUIT_ViewManager* vm = app->activeViewManager() )
|
||||
{
|
||||
SUIT_ViewWindow *aWnd = vm->getActiveView();
|
||||
return UpdateView(aWnd,theAction,theEntry);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
void UpdateView(){
|
||||
if(SVTK_ViewWindow* aWnd = SMESH::GetCurrentVtkView()){
|
||||
if ( SVTK_ViewWindow* aWnd = SMESH::GetCurrentVtkView()) {
|
||||
LightApp_SelectionMgr* mgr = SMESHGUI::selectionMgr();
|
||||
SALOME_ListIO selected; mgr->selectedObjects( selected );
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user