X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FSMESHGUI%2FSMESHGUI_GroupDlg.cxx;h=9fc6d36fee479e4ae8ad6ce454cce26a29711a51;hp=32f66474c196d0369bf479ac7a36cfa464759201;hb=e0589e63e6bf98c46e2b6cf91181a580ea672632;hpb=5052f7f43b8b44dfa2eefca3548c780bc0a75ec7 diff --git a/src/SMESHGUI/SMESHGUI_GroupDlg.cxx b/src/SMESHGUI/SMESHGUI_GroupDlg.cxx index 32f66474c..9fc6d36fe 100644 --- a/src/SMESHGUI/SMESHGUI_GroupDlg.cxx +++ b/src/SMESHGUI/SMESHGUI_GroupDlg.cxx @@ -2236,14 +2236,20 @@ bool SMESHGUI_GroupDlg::SetAppropriateActor() } else { // try mesh actor SMESH_Actor* anActor = SMESH::FindActorByObject(myMesh); - if (anActor && anActor->hasIO()) - { - isActor = true; - if (aViewWindow && !aViewWindow->isVisible(anActor->getIO())) - isActor = false; - else - myActorsList.append(anActor); - } + if (anActor && anActor->hasIO()) { + isActor = true; + if (aViewWindow && !aViewWindow->isVisible(anActor->getIO())) + isActor = false; + else + myActorsList.append(anActor); + } + + // try group actor + if (!isActor && !myGroup->_is_nil()) { + SMESH_Actor* anActor = SMESH::FindActorByObject(myGroup); + if (anActor && anActor->hasIO()) + myActorsList.append(anActor); + } // try any visible actor of group or submesh of current mesh if (aViewWindow) { @@ -2264,7 +2270,7 @@ bool SMESHGUI_GroupDlg::SetAppropriateActor() if (anActor && anActor->hasIO()) { Handle(SALOME_InteractiveObject) anIO = anActor->getIO(); if (aViewWindow->isVisible(anIO)) { - if (anIO->hasEntry() && strncmp(anIO->getEntry(), meshEntry, len) == 0) + if (anIO->hasEntry() && strncmp(anIO->getEntry(), meshEntry, len) == 0 && !myActorsList.contains(anActor) ) myActorsList.append(anActor); } }