Fix for the bug IPAL22277: Crash on "Find elements by point" dialog box

This commit is contained in:
ana 2011-02-28 14:52:52 +00:00
parent d13fde3e5e
commit b9918993a1
3 changed files with 35 additions and 2 deletions

View File

@ -3766,7 +3766,7 @@ void SMESHGUI::initialize( CAM_Application* app )
createPopupItem( 900, OB, mesh_group ); // ADV_INFO
//createPopupItem( 902, OB, mesh ); // STD_INFO
createPopupItem( 903, OB, mesh_group ); // WHAT_IS
createPopupItem( 904, OB, mesh_group ); // FIND_ELEM
createPopupItem( 904, OB, mesh ); // FIND_ELEM
popupMgr()->insert( separator(), -1, 0 );
createPopupItem( 801, OB, mesh ); // CREATE_GROUP
createPopupItem( 806, OB, mesh ); // CREATE_GEO_GROUP
@ -3802,7 +3802,7 @@ void SMESHGUI::initialize( CAM_Application* app )
createPopupItem( 900, View, mesh_group ); // ADV_INFO
//createPopupItem( 902, View, mesh ); // STD_INFO
createPopupItem( 903, View, mesh_group ); // WHAT_IS
createPopupItem( 904, View, mesh_group ); // FIND_ELEM
createPopupItem( 904, View, mesh ); // FIND_ELEM
popupMgr()->insert( separator(), -1, 0 );
createPopupItem( 1136, OB + " " + View, mesh, "&& (not isAutoColor)" ); // AUTO_COLOR

View File

@ -213,6 +213,7 @@ SMESHGUI_FindElemByPointOp::SMESHGUI_FindElemByPointOp()
connect(myDlg->myZ, SIGNAL(valueChanged(double)), this, SLOT(redisplayPreview()));
connect(myDlg->myFoundList, SIGNAL(itemSelectionChanged()), this, SLOT(onElemSelected()));
connect(myDlg->myElemTypeCombo,SIGNAL(currentIndexChanged(int)),this, SLOT(onElemTypeChange(int)));
connect(myDlg, SIGNAL(rejectedDlg()), this, SLOT(onRejectedDlg()));
}
//=======================================================================
@ -305,6 +306,29 @@ void SMESHGUI_FindElemByPointOp::onElemTypeChange(int index)
myDlg->myFoundList->clear();
}
//================================================================================
/*!
* \brief Method needed for internal cuisine
*/
//================================================================================
void SMESHGUI_FindElemByPointDlg::reject()
{
emit rejectedDlg();
QtxDialog::reject();
}
//================================================================================
/*!
* \brief Method needed for internal cuisine
*/
//================================================================================
void SMESHGUI_FindElemByPointOp::onRejectedDlg()
{
myMeshIO.Nullify();
}
//================================================================================
/*!
* \brief perform it's intention action: find elements
@ -351,6 +375,7 @@ void SMESHGUI_FindElemByPointOp::onFind()
bool SMESHGUI_FindElemByPointOp::onApply()
{
onRejectedDlg();
return true;
}

View File

@ -62,6 +62,8 @@ protected slots:
virtual bool onApply();
private slots:
void onRejectedDlg();
void onSelectionDone();
void onElemSelected();
void onElemTypeChange(int);
@ -104,6 +106,12 @@ private:
friend class SMESHGUI_FindElemByPointOp;
signals:
void rejectedDlg();
protected slots:
virtual void reject();
private slots:
//void ButtonToggled( bool );
};