vala r1505 - in trunk: . gobject
- From: juergbi svn gnome org
- To: svn-commits-list gnome org
- Subject: vala r1505 - in trunk: . gobject
- Date: Fri, 30 May 2008 23:48:58 +0000 (UTC)
Author: juergbi
Date: Fri May 30 23:48:58 2008
New Revision: 1505
URL: http://svn.gnome.org/viewvc/vala?rev=1505&view=rev
Log:
2008-05-31 JÃrg Billeter <j bitron ch>
* gobject/valaccodedynamicpropertybinding.vala:
* gobject/valaccodedynamicsignalbinding.vala:
Support dynamic properties and signals also for GObject subtypes
Modified:
trunk/ChangeLog
trunk/gobject/valaccodedynamicpropertybinding.vala
trunk/gobject/valaccodedynamicsignalbinding.vala
Modified: trunk/gobject/valaccodedynamicpropertybinding.vala
==============================================================================
--- trunk/gobject/valaccodedynamicpropertybinding.vala (original)
+++ trunk/gobject/valaccodedynamicpropertybinding.vala Fri May 30 23:48:58 2008
@@ -53,7 +53,8 @@
func.add_parameter (new CCodeFormalParameter ("obj", dynamic_property.dynamic_type.get_cname ()));
var block = new CCodeBlock ();
- if (dynamic_property.dynamic_type.data_type == codegen.gobject_type) {
+ if (dynamic_property.dynamic_type.data_type != null
+ && dynamic_property.dynamic_type.data_type.is_subtype_of (codegen.gobject_type)) {
generate_gobject_property_getter_wrapper (block);
} else {
Report.error (node.source_reference, "dynamic properties are not supported for `%s'".printf (dynamic_property.dynamic_type.to_string ()));
@@ -83,7 +84,8 @@
func.add_parameter (new CCodeFormalParameter ("value", node.property_type.get_cname ()));
var block = new CCodeBlock ();
- if (dynamic_property.dynamic_type.data_type == codegen.gobject_type) {
+ if (dynamic_property.dynamic_type.data_type != null
+ && dynamic_property.dynamic_type.data_type.is_subtype_of (codegen.gobject_type)) {
generate_gobject_property_setter_wrapper (block);
} else {
Report.error (node.source_reference, "dynamic properties are not supported for `%s'".printf (dynamic_property.dynamic_type.to_string ()));
Modified: trunk/gobject/valaccodedynamicsignalbinding.vala
==============================================================================
--- trunk/gobject/valaccodedynamicsignalbinding.vala (original)
+++ trunk/gobject/valaccodedynamicsignalbinding.vala Fri May 30 23:48:58 2008
@@ -59,7 +59,8 @@
func.add_parameter (new CCodeFormalParameter ("handler", "GCallback"));
func.add_parameter (new CCodeFormalParameter ("data", "gpointer"));
var block = new CCodeBlock ();
- if (dynamic_signal.dynamic_type.data_type == codegen.gobject_type) {
+ if (dynamic_signal.dynamic_type.data_type != null
+ && dynamic_signal.dynamic_type.data_type.is_subtype_of (codegen.gobject_type)) {
generate_gobject_connect_wrapper (block);
} else if (dynamic_signal.dynamic_type.data_type == codegen.dbus_object_type) {
generate_dbus_connect_wrapper (block);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]