From: Rico Tzschichholz Date: Sun, 4 Aug 2013 20:27:21 +0000 (+0200) Subject: codegen: Fix connect/disconnect of dynamic signals X-Git-Tag: 0.21.2~41 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5a09c0ab8eb99bfc9926b338cdfe399c6ff87924;p=thirdparty%2Fvala.git codegen: Fix connect/disconnect of dynamic signals Make dynamic wrapper function return handler id for later disconnect. https://bugzilla.gnome.org/show_bug.cgi?id=705461 --- diff --git a/codegen/valagobjectmodule.vala b/codegen/valagobjectmodule.vala index cddbc5e67..fe9de20d5 100644 --- a/codegen/valagobjectmodule.vala +++ b/codegen/valagobjectmodule.vala @@ -594,7 +594,7 @@ public class Vala.GObjectModule : GTypeModule { } string connect_wrapper_name = "_%sconnect".printf (get_dynamic_signal_cname (sig)); - var func = new CCodeFunction (connect_wrapper_name, "void"); + var func = new CCodeFunction (connect_wrapper_name, "gulong"); func.add_parameter (new CCodeParameter ("obj", "gpointer")); func.add_parameter (new CCodeParameter ("signal_name", "const char *")); func.add_parameter (new CCodeParameter ("handler", "GCallback")); @@ -617,7 +617,7 @@ public class Vala.GObjectModule : GTypeModule { } string connect_wrapper_name = "_%sconnect_after".printf (get_dynamic_signal_cname (sig)); - var func = new CCodeFunction (connect_wrapper_name, "void"); + var func = new CCodeFunction (connect_wrapper_name, "gulong"); func.add_parameter (new CCodeParameter ("obj", "gpointer")); func.add_parameter (new CCodeParameter ("signal_name", "const char *")); func.add_parameter (new CCodeParameter ("handler", "GCallback")); @@ -660,7 +660,7 @@ public class Vala.GObjectModule : GTypeModule { } } - ccode.add_expression (call); + ccode.add_return (call); } public override void visit_property (Property prop) {