]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
add missing parent field for derived non-GObject classes
authorJuerg Billeter <j@bitron.ch>
Fri, 21 Sep 2007 08:44:31 +0000 (08:44 +0000)
committerJürg Billeter <juergbi@src.gnome.org>
Fri, 21 Sep 2007 08:44:31 +0000 (08:44 +0000)
2007-09-21  Juerg Billeter  <j@bitron.ch>

* gobject/valaccodegeneratorclass.vala: add missing parent field for
  derived non-GObject classes

svn path=/trunk/; revision=626

ChangeLog
gobject/valaccodegeneratorclass.vala

index 33b52f4ea98b5f8c6c98dd570b6be88f8bfec2d8..c09649bb5641d3fd3b10acb606d76496c7946025 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2007-09-21  Jürg Billeter  <j@bitron.ch>
+
+       * gobject/valaccodegeneratorclass.vala: add missing parent field for
+         derived non-GObject classes
+
 2007-09-20  Raffaele Sandrini  <raffaele@sandrini.ch>
 
        * vala/valasemanticanalyzer.vala, gobject/valaccodegenerator.vala:
index cfeb47fefec4d42ef0817ce9ca6e2c14eea446ec..d41af8c3ce727767d2147417de7c6d8c1ac03082 100644 (file)
@@ -95,13 +95,16 @@ public class Vala.CCodeGenerator {
                        decl_frag.append (new CCodeTypeDefinition ("struct %s".printf (instance_struct.name), new CCodeVariableDeclarator (cl.get_cname ())));
                }
 
+               if (cl.base_class != null) {
+                       instance_struct.add_field (cl.base_class.get_cname (), "parent");
+               }
+
                if (is_gobject) {
                        if (cl.source_reference.file.cycle == null) {
                                decl_frag.append (new CCodeTypeDefinition ("struct %s".printf (type_struct.name), new CCodeVariableDeclarator ("%sClass".printf (cl.get_cname ()))));
                        }
                        decl_frag.append (new CCodeTypeDefinition ("struct %s".printf (instance_priv_struct.name), new CCodeVariableDeclarator ("%sPrivate".printf (cl.get_cname ()))));
 
-                       instance_struct.add_field (cl.base_class.get_cname (), "parent");
                        instance_struct.add_field ("%sPrivate *".printf (cl.get_cname ()), "priv");
                        type_struct.add_field ("%sClass".printf (cl.base_class.get_cname ()), "parent");
                }