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