Salome HOME
Fix for bug IPAL20089 : Mandriva 2007-2008 porting: impossible to save/dump the study. RELIQUAT_4x_25102008 V4_1_0_maintainance_20080710 V4_1_0_maintainance_20080714 V4_1_0_maintainance_20080716 V4_1_0_maintainance_20080718 V4_1_0_maintainance_20080722 V4_1_0_maintainance_20080723 V4_1_0_maintainance_20080724 V4_1_0_maintainance_20080801 V4_1_0_maintainance_20080805 V4_1_0_maintainance_20080901 V4_1_0_maintainance_20080903 V4_1_0_maintainance_20080904 V4_1_0_maintainance_20080915 V4_1_0_maintainance_20080916 V4_1_0_maintainance_20080918 V4_1_0_maintainance_20080919 V4_1_0_maintainance_20080925 V4_1_0_maintainance_20080926 V4_1_0_maintainance_20080929 V4_1_0_maintainance_20080930 V4_1_0_maintainance_20081002 V4_1_0_maintainance_20081006 V4_1_0_maintainance_20081007 V4_1_0_maintainance_20081009 V4_1_0_maintainance_20081020 V4_1_0_maintainance_20081024 V4_1_0_maintainance_20081027 V4_1_0_maintainance_20081028 V4_1_4a1
authormkr <mkr@opencascade.com>
Wed, 9 Jul 2008 08:35:23 +0000 (08:35 +0000)
committermkr <mkr@opencascade.com>
Wed, 9 Jul 2008 08:35:23 +0000 (08:35 +0000)
src/Supervision/SuperV_Impl.cxx

index 510d76c3b5f2b6aa14d5fa66c542497691041722..bb67872f9ed43b6d364f93695cc3c8e5d17c157f 100644 (file)
@@ -96,7 +96,6 @@ Engines::TMPFile * SuperV_Impl::DumpPython( CORBA::Object_ptr theStudy ,
   bool success = true ;
   SALOMEDS::Study_var aStudy = SALOMEDS::Study::_narrow( theStudy ) ;
 //  typedef sequence<octet> TMPFile;  
-  Engines::TMPFile_var aStreamPythonvar ;
   SALOMEDS::SObject_var aStudyObject ;
   SALOMEDS::SObject_var aStudyObjectValue ;
   SUPERV::StreamGraph_var aStreamGraph ;
@@ -236,9 +235,14 @@ Engines::TMPFile * SuperV_Impl::DumpPython( CORBA::Object_ptr theStudy ,
   aStringRebuildData += "    sg.updateObjBrowser( 1 )\n" ;
   aStringRebuildData += "    return 1\n" ;
   aStringGraph += aStringRebuildData ;
+
   int aLen = strlen( aStringGraph.c_str() ) ;
-  CORBA::Octet * anOctetBuffer = (CORBA::Octet * ) aStringGraph.c_str() ;
-  aStreamPythonvar = new Engines::TMPFile ( aLen+1 , aLen+1 , anOctetBuffer ,1 ) ;
+  unsigned char* aBuffer = new unsigned char[aLen+1];
+  strcpy((char*)aBuffer, aStringGraph.c_str());
+
+  CORBA::Octet* anOctetBuffer =  (CORBA::Octet*)aBuffer;
+  Engines::TMPFile_var aStreamPythonvar = new Engines::TMPFile ( aLen+1 , aLen+1 , anOctetBuffer ,1 ) ;
+
   endService( "Super_Impl::DumpPython" );
   return aStreamPythonvar._retn() ;
 }