とみたです。

Gtk::Object#signal_handler_block() と
Gtk::Object#signal_handler_unblock() を実装してみました。

-- 
とみたまさひろ <tommy / tmtm.org>

*** rbgtk.c.org	Tue Dec 28 00:38:58 1999
--- rbgtk.c	Tue Dec 28 00:29:52 1999
***************
*** 856,861 ****
--- 856,877 ----
  }
  
  static VALUE
+ gobj_sig_handler_block(self, id)
+      VALUE self, id;
+ {
+     gtk_signal_handler_block(GTK_OBJECT(get_gobject(self)), FIX2INT(id));
+     return self;
+ }
+ 
+ static VALUE
+ gobj_sig_handler_unblock(self, id)
+      VALUE self, id;
+ {
+     gtk_signal_handler_unblock(GTK_OBJECT(get_gobject(self)), FIX2INT(id));
+     return self;
+ }
+ 
+ static VALUE
  gobj_destroy(self)
      VALUE self;
  {
***************
*** 987,992 ****
--- 1003,1010 ----
      rb_define_method(gObject, "signal_connect", gobj_sig_connect, -1);
      rb_define_method(gObject, "signal_connect_after", gobj_sig_connect_after, -1);
      rb_define_method(gObject, "signal_emit_stop", gobj_emit_stop, 1);
+     rb_define_method(gObject, "signal_handler_block", gobj_sig_handler_block, 1);
+     rb_define_method(gObject, "signal_handler_unblock", gobj_sig_handler_unblock, 1);
      rb_define_method(gObject, "singleton_method_added", gobj_smethod_added, 1);
      rb_define_method(gObject, "==", gobj_equal, 1);
      rb_define_method(gObject, "inspect", gobj_inspect, 0);