fix properties and signals in vapigen
authorJuerg Billeter <j@bitron.ch>
Thu, 7 Feb 2008 08:00:07 +0000 (08:00 +0000)
committerJürg Billeter <juergbi@src.gnome.org>
Thu, 7 Feb 2008 08:00:07 +0000 (08:00 +0000)
2008-02-07  Juerg Billeter  <j@bitron.ch>

* vala/valasignal.vala, vapigen/valagidlparser.vala: fix properties
  and signals in vapigen

svn path=/trunk/; revision=985

ChangeLog
vala/valasignal.vala
vapigen/valagidlparser.vala

index 49048ba..8ea7a44 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
 2008-02-07  Jürg Billeter  <j@bitron.ch>
 
+       * vala/valasignal.vala, vapigen/valagidlparser.vala: fix properties
+         and signals in vapigen
+
+2008-02-07  Jürg Billeter  <j@bitron.ch>
+
        * vala/valadelegate.vala, gobject/valaccodegenerator.vala,
          tests/delegates.vala: create wrapper functions for methods used as
          delegates to fix parameter order
index 17304e4..40bae6a 100644 (file)
@@ -71,6 +71,8 @@ public class Vala.Signal : Member, Lockable {
        public void add_parameter (FormalParameter! param) {
                // default C parameter position
                param.cparameter_position = parameters.size + 1;
+               param.carray_length_parameter_position = param.cparameter_position + 0.1;
+               param.cdelegate_target_parameter_position = param.cparameter_position + 0.1;
 
                parameters.add (param);
                scope.add (param.name, param);
index 429f4b0..f3acc81 100644 (file)
@@ -828,7 +828,7 @@ public class Vala.GIdlParser : CodeVisitor {
                        } else if (member.type == IdlNodeTypeId.PROPERTY) {
                                var prop = parse_property ((IdlNodeProperty) member);
                                if (prop != null) {
-                                       cl.add_property (prop);
+                                       cl.add_property (prop, true);
                                }
                        } else if (member.type == IdlNodeTypeId.SIGNAL) {
                                var sig = parse_signal ((IdlNodeSignal) member);
@@ -923,6 +923,11 @@ public class Vala.GIdlParser : CodeVisitor {
                                if (m != null) {
                                        iface.add_method (m);
                                }
+                       } else if (member.type == IdlNodeTypeId.PROPERTY) {
+                               var prop = parse_property ((IdlNodeProperty) member);
+                               if (prop != null) {
+                                       iface.add_property (prop);
+                               }
                        } else if (member.type == IdlNodeTypeId.SIGNAL) {
                                var sig = parse_signal ((IdlNodeSignal) member);
                                if (sig != null) {