From 932b50c23fe030c95d04fae2fc5709e6a9e7d606 Mon Sep 17 00:00:00 2001 From: Juerg Billeter Date: Thu, 7 Feb 2008 08:00:07 +0000 Subject: [PATCH] fix properties and signals in vapigen 2008-02-07 Juerg Billeter * vala/valasignal.vala, vapigen/valagidlparser.vala: fix properties and signals in vapigen svn path=/trunk/; revision=985 --- ChangeLog | 5 +++++ vala/valasignal.vala | 2 ++ vapigen/valagidlparser.vala | 7 ++++++- 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 49048ba..8ea7a44 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,10 @@ 2008-02-07 Jürg Billeter + * vala/valasignal.vala, vapigen/valagidlparser.vala: fix properties + and signals in vapigen + +2008-02-07 Jürg Billeter + * vala/valadelegate.vala, gobject/valaccodegenerator.vala, tests/delegates.vala: create wrapper functions for methods used as delegates to fix parameter order diff --git a/vala/valasignal.vala b/vala/valasignal.vala index 17304e4..40bae6a 100644 --- a/vala/valasignal.vala +++ b/vala/valasignal.vala @@ -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); diff --git a/vapigen/valagidlparser.vala b/vapigen/valagidlparser.vala index 429f4b0..f3acc81 100644 --- a/vapigen/valagidlparser.vala +++ b/vapigen/valagidlparser.vala @@ -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) { -- 2.7.4