vala r1355 - in trunk: . gobject



Author: juergbi
Date: Sat May 10 21:09:10 2008
New Revision: 1355
URL: http://svn.gnome.org/viewvc/vala?rev=1355&view=rev

Log:
2008-05-10  Juerg Billeter  <j bitron ch>

	* gobject/valaccodedynamicsignalbinding.vala:

	Fix connecting to the same dynamic signal multiple times,
	patch by Yu Feng, fixes bug 532053


Modified:
   trunk/ChangeLog
   trunk/gobject/valaccodedynamicsignalbinding.vala

Modified: trunk/gobject/valaccodedynamicsignalbinding.vala
==============================================================================
--- trunk/gobject/valaccodedynamicsignalbinding.vala	(original)
+++ trunk/gobject/valaccodedynamicsignalbinding.vala	Sat May 10 21:09:10 2008
@@ -29,6 +29,8 @@
 public class Vala.CCodeDynamicSignalBinding : CCodeBinding {
 	public Signal node { get; set; }
 
+	private static int signal_wrapper_id;
+
 	public CCodeDynamicSignalBinding (CCodeGenerator codegen, DynamicSignal node) {
 		this.node = node;
 		this.codegen = codegen;
@@ -41,7 +43,7 @@
 		var dynamic_signal = (DynamicSignal) node;
 
 		if (connect_wrapper_name == null) {
-			connect_wrapper_name = "_dynamic_%s_connect".printf (node.name);
+			connect_wrapper_name = "_dynamic_%s%d_connect".printf (node.name, signal_wrapper_id++);
 			var func = new CCodeFunction (connect_wrapper_name, "void");
 			func.add_parameter (new CCodeFormalParameter ("obj", "gpointer"));
 			func.add_parameter (new CCodeFormalParameter ("signal_name", "const char *"));
@@ -68,7 +70,7 @@
 		var dynamic_signal = (DynamicSignal) node;
 
 		if (disconnect_wrapper_name == null) {
-			disconnect_wrapper_name = "_dynamic_%s_disconnect".printf (node.name);
+			disconnect_wrapper_name = "_dynamic_%s%d_disconnect".printf (node.name, signal_wrapper_id++);
 			var func = new CCodeFunction (disconnect_wrapper_name, "void");
 			func.add_parameter (new CCodeFormalParameter ("obj", "gpointer"));
 			func.add_parameter (new CCodeFormalParameter ("signal_name", "const char *"));



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]