mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2024-12-26 01:10:35 +05:00
[Bug SMESH4598] Crash of the session when compute and update are not done in the same view. Bug fixed.
This commit is contained in:
parent
0aec6215ad
commit
76ffafd784
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user