From: apo Date: Mon, 27 Mar 2006 12:23:15 +0000 (+0000) Subject: Fix for Bug11695 X-Git-Tag: T3_2_0b1_pre1~76 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=146fbd48fb8b0970e4f5bb473e4c4ec8270e22df;p=modules%2Fsmesh.git Fix for Bug11695 Porting problem: CRASH after import of "ex15_cyl2geometry.py". --- diff --git a/src/SMESHGUI/SMESHGUI_Swig.cxx b/src/SMESHGUI/SMESHGUI_Swig.cxx index ad5b2c816..203db32de 100644 --- a/src/SMESHGUI/SMESHGUI_Swig.cxx +++ b/src/SMESHGUI/SMESHGUI_Swig.cxx @@ -609,8 +609,32 @@ SMESH_Swig::SetName(const char* theEntry, void SMESH_Swig::SetMeshIcon(const char* theMeshEntry, const bool theIsComputed) { - SALOMEDS::SObject_var aMeshSO = myStudy->FindObjectID(theMeshEntry); - if(!aMeshSO->_is_nil()) - if(_PTR(SObject) aMesh = ClientFactory::SObject(aMeshSO)) - SMESH::ModifiedMesh(aMesh,theIsComputed); + class TEvent: public SALOME_Event + { + SALOMEDS::Study_var myStudy; + std::string myMeshEntry; + bool myIsComputed; + public: + TEvent(const SALOMEDS::Study_var& theStudy, + const std::string& theMeshEntry, + const bool theIsComputed): + myStudy(theStudy), + myMeshEntry(theMeshEntry), + myIsComputed(theIsComputed) + {} + + virtual + void + Execute() + { + SALOMEDS::SObject_var aMeshSO = myStudy->FindObjectID(myMeshEntry.c_str()); + if(!aMeshSO->_is_nil()) + if(_PTR(SObject) aMesh = ClientFactory::SObject(aMeshSO)) + SMESH::ModifiedMesh(aMesh,myIsComputed); + } + }; + + ProcessVoidEvent(new TEvent(myStudy, + theMeshEntry, + theIsComputed)); }