]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
fix some issues with memory management of includes lists
authorJuerg Billeter <j@bitron.ch>
Mon, 23 Jul 2007 14:11:02 +0000 (14:11 +0000)
committerJürg Billeter <juergbi@src.gnome.org>
Mon, 23 Jul 2007 14:11:02 +0000 (14:11 +0000)
2007-07-23  Juerg Billeter  <j@bitron.ch>

* vala/valasourcefile.vala, gobject/valacodegeneratorsourcefile.vala:
  fix some issues with memory management of includes lists

svn path=/trunk/; revision=375

ChangeLog
gobject/valacodegeneratorsourcefile.vala
vala/valasourcefile.vala

index a27009db096da63da09435f43f5b9f17b72b0600..82f621e5ba42085a40e94aabba4348e8eea6ed4d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2007-07-23  Jürg Billeter  <j@bitron.ch>
+
+       * vala/valasourcefile.vala, gobject/valacodegeneratorsourcefile.vala:
+         fix some issues with memory management of includes lists
+
 2007-07-23  Jürg Billeter  <j@bitron.ch>
 
        * vala/valainterface.vala, vala/valainterfacewriter.vala,
index 19398aa2c7c221ede3776c40150b63b1204139d6..14b8cc1ed7a432cec95a7b75dc8639a25a02e7ae 100644 (file)
@@ -50,7 +50,7 @@ public class Vala.CodeGenerator {
                header_begin.append (new CCodeIncludeDirective ("glib-object.h"));
                source_include_directives.append (new CCodeIncludeDirective (source_file.get_cheader_filename (), true));
                
-               List<weak string> used_includes = null;
+               List<string> used_includes = null;
                used_includes.append ("glib.h");
                used_includes.append ("glib-object.h");
                used_includes.append (source_file.get_cheader_filename ());
index e65b4fee3e6df0ab1b9a7addc16eb1d4bb1456ef..5f61d35a1f4bb9b0d6626dbeedae8b9dbb87a3f2 100644 (file)
@@ -226,21 +226,29 @@ public class Vala.SourceFile {
                
                if (dep_type == SourceFileDependencyType.SOURCE) {
                        if (s.source_reference.file.pkg) {
-                               source_external_includes.concat (s.get_cheader_filenames ());
+                               foreach (string fn in s.get_cheader_filenames ()) {
+                                       source_external_includes.append (fn);
+                               }
                        } else {
-                               source_internal_includes.concat (s.get_cheader_filenames ());
+                               foreach (string fn in s.get_cheader_filenames ()) {
+                                       source_internal_includes.append (fn);
+                               }
                        }
                        return;
                }
 
                if (s.source_reference.file.pkg) {
                        /* external package */
-                       header_external_includes.concat (s.get_cheader_filenames ());
+                       foreach (string fn in s.get_cheader_filenames ()) {
+                               header_external_includes.append (fn);
+                       }
                        return;
                }
                
                if (dep_type == SourceFileDependencyType.HEADER_FULL || (s is DataType && !((DataType)s).is_reference_type ())) {
-                       header_internal_includes.concat (s.get_cheader_filenames ());
+                       foreach (string fn in s.get_cheader_filenames ()) {
+                               header_internal_includes.append (fn);
+                       }
                        header_internal_full_dependencies.append (s.source_reference.file);
                }