From: Jürg Billeter Date: Mon, 15 Jun 2009 16:21:35 +0000 (+0200) Subject: D-Bus: Check ownership for property getters in clients X-Git-Tag: 0.7.4~24 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4f5fd968d9e0091e46dbdce5e1695f69c4ab1e0c;p=thirdparty%2Fvala.git D-Bus: Check ownership for property getters in clients Properties used in D-Bus clients require owned get accessor. --- diff --git a/codegen/valadbusclientmodule.vala b/codegen/valadbusclientmodule.vala index af5565ec3..30f82c554 100644 --- a/codegen/valadbusclientmodule.vala +++ b/codegen/valadbusclientmodule.vala @@ -1641,6 +1641,12 @@ internal class Vala.DBusClientModule : DBusModule { string dbus_iface_name = iface.get_attribute ("DBus").get_string ("name"); + var owned_type = prop.get_accessor.value_type.copy (); + owned_type.value_owned = true; + if (owned_type.is_disposable () && !prop.get_accessor.value_type.value_owned) { + Report.error (prop.get_accessor.value_type.source_reference, "Properties used in D-Bus clients require owned get accessor"); + } + var array_type = prop.get_accessor.value_type as ArrayType; CCodeDeclaration cdecl;