]> SALOME platform Git repositories - modules/smesh.git/commitdiff
Salome HOME
fix problem with Preview result when server and client launched as independant processes
authorptv <ptv@opencascade.com>
Fri, 19 Dec 2008 10:42:37 +0000 (10:42 +0000)
committerptv <ptv@opencascade.com>
Fri, 19 Dec 2008 10:42:37 +0000 (10:42 +0000)
src/SMESHGUI/SMESHGUI_ComputeDlg.cxx
src/SMESH_I/SMESH_Gen_i.cxx

index 1ee70b28e660f0d38ae7e9a8d1a2d21a87befb84..ccac8521a491fc77379083ce07e9c8819f0e220e 100644 (file)
@@ -1776,10 +1776,11 @@ void SMESHGUI_PrecomputeOp::onPreview()
       
     SMESH::MeshPreviewStruct_var previewData =
       gen->Precompute(myMesh, myMainShape, (SMESH::Dimension)dim, aShapesId);
-    if ( previewData.operator->() )
+    SMESH::MeshPreviewStruct* previewRes = previewData._retn();
+    if ( previewRes && previewRes->nodesXYZ.length() > 0 )
     {
       computeFailed = false;
-      myPreviewDisplayer->SetData( previewData._retn() );
+      myPreviewDisplayer->SetData( previewRes );
       // append shape indeces with computed mesh entities
       for ( int i = 0, n = aShapesId->length(); i < n; i++ )
        myMapShapeId[ aShapesId[ i ] ] = 0;
index 56e2270394691d8293b40524f6caf68f53ffe376..1441e1bb535cf4079ef2f0c00f326c27051dd553 100644 (file)
@@ -1389,7 +1389,7 @@ SMESH::MeshPreviewStruct* SMESH_Gen_i::Precompute( SMESH::SMESH_Mesh_ptr theMesh
     THROW_SALOME_CORBA_EXCEPTION( "bad Mesh reference",
                                   SALOME::BAD_PARAM );
 
-  SMESH::MeshPreviewStruct_var result = 0;
+  SMESH::MeshPreviewStruct_var result = new SMESH::MeshPreviewStruct;
   try {
     // get mesh servant
     SMESH_Mesh_i* meshServant = dynamic_cast<SMESH_Mesh_i*>( GetServant( theMesh ).in() );
@@ -1413,7 +1413,6 @@ SMESH::MeshPreviewStruct* SMESH_Gen_i::Precompute( SMESH::SMESH_Mesh_ptr theMesh
        int nbShapeId = shapeIds.size();
        theShapesId.length( nbShapeId );
        // iterates on shapes and collect mesh entities into mesh preview
-       result = new SMESH::MeshPreviewStruct;
        TSetOfInt::const_iterator idIt = shapeIds.begin();
        TSetOfInt::const_iterator idEnd = shapeIds.end();
        std::map< int, int > mapOfShIdNb;