[Uml-devel] kdesdk/umbrello/umbrello

Sebastian Stein seb.kde at hpfsc.de
Tue Jul 13 06:03:04 UTC 2004


CVS commit by sstein: 

fix leaks:

==31264== 1088 bytes in 16 blocks are definitely lost in loss record 201 of 232
==31264==    at 0x3C01D54C: operator new(unsigned) (vg_replace_malloc.c:107)
==31264==    by 0x8112025: CodeDocument::initDoc(CodeGenerator*) (codedocument.cpp:549)
==31264==    by 0x810FCDA: CodeDocument::CodeDocument(CodeGenerator*) (codedocument.cpp:40)
==31264==    by 0x81022F3: ClassifierCodeDocument::ClassifierCodeDocument(UMLClassifier*, CodeGenerator*) (classifiercodedocument.cpp:34)

==31264== 960 bytes in 240 blocks are definitely lost in loss record 198 of 232
==31264==    at 0x3C01D54C: operator new(unsigned) (vg_replace_malloc.c:107)
==31264==    by 0x811AD82: CodeGenObjectWithTextBlocks::initFields() (codegenobjectwithtextblocks.cpp:534)
==31264==    by 0x8118877: CodeGenObjectWithTextBlocks::CodeGenObjectWithTextBlocks() (codegenobjectwithtextblocks.cpp:29)
==31264==    by 0x810FC72: CodeDocument::CodeDocument(CodeGenerator*) (codedocument.cpp:39)

==31264== 92 bytes in 23 blocks are definitely lost in loss record 133 of 232
==31264==    at 0x3C01D54C: operator new(unsigned) (vg_replace_malloc.c:107)
==31264==    by 0x825BEC9: CPPSourceCodeDocument::updateContent() (cppsourcecodedocument.cpp:200)
==31264==    by 0x8103355: ClassifierCodeDocument::synchronize() (classifiercodedocument.cpp:394)
==31264==    by 0x825899B: CPPCodeGenerator::syncCodeToDocument() (cppcodegenerator.cpp:211)

==31264== 68 bytes in 17 blocks are definitely lost in loss record 118 of 232
==31264==    at 0x3C01D54C: operator new(unsigned) (vg_replace_malloc.c:107)
==31264==    by 0x8111FE9: CodeDocument::initDoc(CodeGenerator*) (codedocument.cpp:546)
==31264==    by 0x810FCDA: CodeDocument::CodeDocument(CodeGenerator*) (codedocument.cpp:40)
==31264==    by 0x81022F3: ClassifierCodeDocument::ClassifierCodeDocument(UMLClassifier*, CodeGenerator*) (classifiercodedocument.cpp:34)

==31264== 64 bytes in 16 blocks are definitely lost in loss record 115 of 232
==31264==    at 0x3C01D54C: operator new(unsigned) (vg_replace_malloc.c:107)
==31264==    by 0x8103172: ClassifierCodeDocument::init(UMLClassifier*) (classifiercodedocument.cpp:361)
==31264==    by 0x810231E: ClassifierCodeDocument::ClassifierCodeDocument(UMLClassifier*, CodeGenerator*) (classifiercodedocument.cpp:35)
==31264==    by 0x825B3B2: CPPSourceCodeDocument::CPPSourceCodeDocument(UMLClassifier*, CPPCodeGenerator*) (cppsourcecodedocument.cpp:41)


  M +2 -0      classifiercodedocument.cpp   1.28
  M +12 -2     codedocument.cpp   1.16
  M +1 -0      codegenobjectwithtextblocks.cpp   1.15


--- kdesdk/umbrello/umbrello/codegenobjectwithtextblocks.cpp  #1.14:1.15
@@ -32,4 +32,5 @@ CodeGenObjectWithTextBlocks::CodeGenObje
 CodeGenObjectWithTextBlocks::~CodeGenObjectWithTextBlocks ( ) {
         resetTextBlocks();
+        delete m_textBlockTagMap;
 /*
         // delete all the text blocks we have

--- kdesdk/umbrello/umbrello/codedocument.cpp  #1.15:1.16
@@ -30,5 +30,5 @@ CodeDocument::CodeDocument (CodeGenerato
     : QObject (gen, "ACodeDocument")
 {
-
+        m_header = 0;
         initDoc( gen );
         loadFromXMI(elem);
@@ -38,4 +38,5 @@ CodeDocument::CodeDocument (CodeGenerato
     : QObject (gen, "ACodeDocument")
 {
+        m_header = 0;
         initDoc( gen );
 }
@@ -43,5 +44,8 @@ CodeDocument::CodeDocument (CodeGenerato
 
 CodeDocument::~CodeDocument ( ) {
+        if (m_header != 0)
+                delete m_header;
 
+        delete m_childTextBlockTagMap;
         // delete all the text blocks we have
 //      for (TextBlock *tb = m_textblockVector.first(); tb; tb=m_textblockVector.next())
@@ -199,5 +203,10 @@ CodeGenerationPolicy * CodeDocument::get
  */
 void CodeDocument::setHeader ( CodeComment * header ) {
+        if (m_header != 0)
+                delete m_header;
+
         m_header = header;
+
+        return;
 }
 
@@ -547,5 +556,6 @@ void CodeDocument::initDoc ( CodeGenerat
         m_codegeneratorpolicy = gen->getPolicy(); // default to parent code gen policy
 
-        setHeader(new CodeComment(this));
+        CodeComment * newHeader = new CodeComment(this);
+        setHeader(newHeader);
 
         lastTagIndex = 0;

--- kdesdk/umbrello/umbrello/classifiercodedocument.cpp  #1.27:1.28
@@ -42,4 +42,6 @@ ClassifierCodeDocument::~ClassifierCodeD
                delete cf;
         }
+
+        delete m_classFieldMap;
 }
 






More information about the umbrello-devel mailing list