Salome HOME
projects
/
modules
/
smesh.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[Bug PAL7444] display mesh takes a lot of more memory in 2.1.0 than in 2.0.0.
[modules/smesh.git]
/
src
/
SMESHGUI
/
SMESHGUI_GroupDlg.cxx
diff --git
a/src/SMESHGUI/SMESHGUI_GroupDlg.cxx
b/src/SMESHGUI/SMESHGUI_GroupDlg.cxx
index ed7295a118ce4c509100660c738021af0a52acfc..457cfecd347e9fa7c41c12f3694a9525aa6fb1d3 100644
(file)
--- a/
src/SMESHGUI/SMESHGUI_GroupDlg.cxx
+++ b/
src/SMESHGUI/SMESHGUI_GroupDlg.cxx
@@
-498,6
+498,10
@@
void SMESHGUI_GroupDlg::onGrpTypeChanged(int id)
//=================================================================================
void SMESHGUI_GroupDlg::setSelectionMode(int theMode)
{
//=================================================================================
void SMESHGUI_GroupDlg::setSelectionMode(int theMode)
{
+ // PAL7314
+ if (myMesh->_is_nil())
+ return;
+
if (mySelectionMode != theMode) {
mySelection->ClearIObjects();
mySelection->ClearFilters();
if (mySelectionMode != theMode) {
mySelection->ClearIObjects();
mySelection->ClearFilters();
@@
-793,7
+797,11
@@
void SMESHGUI_GroupDlg::onObjectSelectionChanged()
SALOMEDS::SObject_var aGroupMainShapeSO = aStudy->FindObjectIOR( aStudy->ConvertObjectToIOR(aGroupMainShape) );
// The mesh SObject
SALOMEDS::SObject_var aMeshSO = aStudy->FindObjectIOR( aStudy->ConvertObjectToIOR(myMesh) );
SALOMEDS::SObject_var aGroupMainShapeSO = aStudy->FindObjectIOR( aStudy->ConvertObjectToIOR(aGroupMainShape) );
// The mesh SObject
SALOMEDS::SObject_var aMeshSO = aStudy->FindObjectIOR( aStudy->ConvertObjectToIOR(myMesh) );
-
+ if ( aMeshSO->_is_nil() ) {
+ myGeomGroup = GEOM::GEOM_Object::_nil();
+ busy = false;
+ return;
+ }
SALOMEDS::SObject_var anObj, aRef;
bool isRefOrSubShape = false;
if ( aMeshSO->FindSubObject( 1, anObj ) && anObj->ReferencedObject( aRef )) {
SALOMEDS::SObject_var anObj, aRef;
bool isRefOrSubShape = false;
if ( aMeshSO->FindSubObject( 1, anObj ) && anObj->ReferencedObject( aRef )) {
@@
-1314,14
+1322,9
@@
void SMESHGUI_GroupDlg::onClose()
{
QAD_StudyFrame* aStudyFrame = mySMESHGUI->GetActiveStudy()->getActiveStudyFrame();
if (aStudyFrame->getTypeView() == VIEW_VTK) {
{
QAD_StudyFrame* aStudyFrame = mySMESHGUI->GetActiveStudy()->getActiveStudyFrame();
if (aStudyFrame->getTypeView() == VIEW_VTK) {
+ SMESH::RemoveFilters(); // PAL6938 -- clean all mesh entity filters
SMESH::SetPointRepresentation(false);
SMESH::SetPickable();
SMESH::SetPointRepresentation(false);
SMESH::SetPickable();
-
- // remove filters from viewer
- if(VTKViewer_InteractorStyleSALOME* aStyle = SMESH::GetInteractorStyle()){
- SMESH::RemoveFilter(SMESHGUI_EdgeFilter,aStyle);
- SMESH::RemoveFilter(SMESHGUI_FaceFilter,aStyle);
- }
}
mySelection->ClearIObjects();
}
mySelection->ClearIObjects();
@@
-1338,6
+1341,7
@@
void SMESHGUI_GroupDlg::onClose()
//=======================================================================
void SMESHGUI_GroupDlg::onDeactivate()
{
//=======================================================================
void SMESHGUI_GroupDlg::onDeactivate()
{
+ mySMESHGUI->ResetState();
setEnabled( false );
}
setEnabled( false );
}
@@
-1352,6
+1356,8
@@
void SMESHGUI_GroupDlg::enterEvent( QEvent* )
setEnabled( true );
mySelectionMode = -1;
setSelectionMode( myTypeId );
setEnabled( true );
mySelectionMode = -1;
setSelectionMode( myTypeId );
+ mySMESHGUI->SetActiveDialogBox( (QDialog*)this ) ;
+ mySMESHGUI->SetState(800);
}
}
}
}