X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FSMESHGUI%2FSMESHGUI.cxx;h=3d20ebe4701148b3c2488d0ab608b5d930c37ba9;hp=529ede7b55e7faaa2c6e82d27b355d26f9daaa87;hb=76ffafd7848f9512238192ad6cdb4836be00433d;hpb=0aec6215ad14ec7743951aa68bbbc8f7369b7deb diff --git a/src/SMESHGUI/SMESHGUI.cxx b/src/SMESHGUI/SMESHGUI.cxx index 529ede7b5..3d20ebe47 100644 --- a/src/SMESHGUI/SMESHGUI.cxx +++ b/src/SMESHGUI/SMESHGUI.cxx @@ -2202,7 +2202,7 @@ bool SMESHGUI::OnGUIEvent(int theCommandID, QAD_Desktop * parent) Standard_Boolean res; SMESH_Actor *ac = smeshGUI->FindActorByEntry(IObject->getEntry(), res, - true); + false); if (res) { smeshGUI->DisplayActor(ac, true); @@ -4152,6 +4152,11 @@ void SMESHGUI::BuildPresentation(const Handle(SALOME_InteractiveObject) & theIO) // The actor belongs to inactive view -> create a copy and display it in the active view if (!rwInter->isInViewer(IObject)) { + if(ac->GetMapper()==NULL) + { + SMESH::SMESH_Mesh_var aMesh = smeshGUI->ConvertIOinMesh(theIO, res); + ac=smeshGUI->ReadScript(aMesh); + } SMESH_Actor *acCopy = SMESH_Actor::New(); acCopy->ShallowCopy(ac); ac = acCopy; @@ -4200,7 +4205,7 @@ SMESH_Actor *SMESHGUI::ReadScript(SMESH::SMESH_Mesh_ptr aMesh) if (!aMesh->_is_nil()) { Standard_Boolean result; - MeshActor = FindActor(aMesh, result, true); + MeshActor = FindActor(aMesh, result, false); if (result) { SMESH::log_array_var aSeq = aMesh->GetLog(true); @@ -6052,15 +6057,15 @@ void SMESHGUI::Update(const Handle(SALOME_InteractiveObject) & IO) getActiveStudyFrame()->getRightFrame()->getViewFrame())-> getRWInteractor(); + ac = ReadScript(aMesh); // The actor belongs to inactive view -> create a copy and display it in the active view if (!rwInter->isInViewer(IO)) { SMESH_Actor *acCopy = SMESH_Actor::New(); acCopy->ShallowCopy(ac); - - smeshGUI->DisplayActor(acCopy, false); + ac=acCopy; } - ac = ReadScript(aMesh); + if (ac != NULL) { #ifdef TRACE