]> SALOME platform Git repositories - modules/kernel.git/commitdiff
Salome HOME
Fix for PAL14049 : EDF PAL 335 SMESH : SIGSEV when we save the file after a transform... V3_2_4pre1
authormkr <mkr@opencascade.com>
Tue, 5 Dec 2006 10:07:27 +0000 (10:07 +0000)
committermkr <mkr@opencascade.com>
Tue, 5 Dec 2006 10:07:27 +0000 (10:07 +0000)
src/SALOMEDS/SALOMEDS_AttributePythonObject_i.cxx
src/SALOMEDSImpl/SALOMEDSImpl_AttributePythonObject.cxx

index 83d7ecd01ea9d05fe508553aea0f82b360b1303f..9d7717f12aa20dd53861808e95db55a0ed10db3e 100644 (file)
@@ -40,9 +40,10 @@ void SALOMEDS_AttributePythonObject_i::SetObject(const char* theSequence, CORBA:
 char* SALOMEDS_AttributePythonObject_i::GetObject() 
 {
   SALOMEDS::Locker lock;
-  char* aSeq = Handle(SALOMEDSImpl_AttributePythonObject)::DownCast(_impl)->GetObject().ToCString();
-  CORBA::String_var aStr = CORBA::string_dup(aSeq);
-  return aStr._retn();
+  TCollection_AsciiString aSeq(Handle(SALOMEDSImpl_AttributePythonObject)::
+                              DownCast(_impl)->GetObject().ToCString());
+  return aSeq.ToCString();
+
 }
 
 CORBA::Boolean SALOMEDS_AttributePythonObject_i::IsScript() 
index db54d1e1aeb1cd14edb16412a09a84f8cda0f60c..7267b3dfab79ee61c3dd3034fec656d2589d7ecd 100644 (file)
@@ -54,7 +54,7 @@ SALOMEDSImpl_AttributePythonObject::SALOMEDSImpl_AttributePythonObject()
 void SALOMEDSImpl_AttributePythonObject::SetObject(const TCollection_AsciiString& theSequence,
                                                   const bool theScript) 
 {
-  CheckLocked();    
+  CheckLocked();
   Backup();
   mySequence = theSequence;
   myIsScript = theScript;
@@ -103,14 +103,11 @@ void SALOMEDSImpl_AttributePythonObject::Paste(const Handle(TDF_Attribute)& into
 
 TCollection_AsciiString SALOMEDSImpl_AttributePythonObject::Save() 
 {
-  char* aString = (char*)GetObject().ToCString();
-  char* aResult = new char[strlen(aString) + 2];
-  aResult[0] = IsScript()?'s':'n';
-  strcpy(aResult+1, aString);
-  TCollection_AsciiString ret(aResult);
+  TCollection_AsciiString aString = GetObject();
+  TCollection_AsciiString aResult = IsScript()?'s':'n';
+  aResult += aString;
   
-  delete aResult;
-  return ret;
+  return aResult;
 }
          
 void SALOMEDSImpl_AttributePythonObject::Load(const TCollection_AsciiString& value)