Hi Paolo,

here is the patch for signal disconnection support for Gtk.

Cheers,
Gwen
diff --git a/packages/gtk/MoreFuncs.st b/packages/gtk/MoreFuncs.st
index 6444179..a8a8322 100644
--- a/packages/gtk/MoreFuncs.st
+++ b/packages/gtk/MoreFuncs.st
@@ -59,18 +59,24 @@ GObject extend [
 
     connectSignal: name to: handler selector: sel userData: userData [
 	<category: 'C call-outs'>
-	<cCall: 'gstGtkConnectSignal' returning: #void
+	<cCall: 'gstGtkConnectSignal' returning: #int
 	args: #(#selfSmalltalk #string #smalltalk #smalltalk #smalltalk )>
 	
     ]
 
     connectSignal: name to: handler selector: sel [
 	<category: 'C call-outs'>
-	<cCall: 'gstGtkConnectSignalNoUserData' returning: #void
+	<cCall: 'gstGtkConnectSignalNoUserData' returning: #int
 	args: #(#selfSmalltalk #string #smalltalk #smalltalk )>
 	
     ]
 
+    disconnect: anInteger [
+	<category: 'C call-outs'>
+	<cCall: 'g_signal_handler_disconnect' returning: #void
+	args: #(#self #int )>
+    ]
+
     narrow [
 	<category: 'C call-outs'>
 	<cCall: 'gstGtkNarrowGObjectOOP' returning: #smalltalk
diff --git a/packages/gtk/gst-gtk.c b/packages/gtk/gst-gtk.c
index bcc19fa..a400aa1 100644
--- a/packages/gtk/gst-gtk.c
+++ b/packages/gtk/gst-gtk.c
@@ -647,8 +647,7 @@ connect_signal (OOP widget,
   closure = create_smalltalk_closure (receiver, selector, user_data,
 				      widget, n_params);
 
-  g_signal_connect_closure (cWidget, event_name, closure, FALSE);
-  return (0);
+  return g_signal_connect_closure (cWidget, event_name, closure, FALSE);
 }
 
 int
_______________________________________________
help-smalltalk mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/help-smalltalk

Reply via email to