Salome HOME
projects
/
modules
/
smesh.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
0aec621
)
[Bug SMESH4598] Crash of the session when compute and update are not done in the...
author
jrt
<jrt>
Thu, 11 Dec 2003 09:51:27 +0000
(09:51 +0000)
committer
jrt
<jrt>
Thu, 11 Dec 2003 09:51:27 +0000
(09:51 +0000)
src/SMESHGUI/SMESHGUI.cxx
patch
|
blob
|
history
diff --git
a/src/SMESHGUI/SMESHGUI.cxx
b/src/SMESHGUI/SMESHGUI.cxx
index 529ede7b55e7faaa2c6e82d27b355d26f9daaa87..3d20ebe4701148b3c2488d0ab608b5d930c37ba9 100644
(file)
--- 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,
Standard_Boolean res;
SMESH_Actor *ac =
smeshGUI->FindActorByEntry(IObject->getEntry(), res,
-
tru
e);
+
fals
e);
if (res)
{
smeshGUI->DisplayActor(ac, true);
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))
{
// 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;
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;
if (!aMesh->_is_nil())
{
Standard_Boolean result;
- MeshActor = FindActor(aMesh, result,
tru
e);
+ MeshActor = FindActor(aMesh, result,
fals
e);
if (result)
{
SMESH::log_array_var aSeq = aMesh->GetLog(true);
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();
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);
// 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
if (ac != NULL)
{
#ifdef TRACE