From: Masahiro S. ()
<sa...@to...> - 2003-09-21 13:15:56
|
さかいです。 From: Masao Mutoh <mu...@us...> Subject: [ruby-gnome2-cvs] CVS: rbbr/lib/rbbr/ui/gtk browselist.rb,1.20,1.21 Date: Fri, 19 Sep 2003 05:01:22 -0700 > Update of /cvsroot/ruby-gnome2/rbbr/lib/rbbr/ui/gtk > In directory sc8-pr-cvs1:/tmp/cvs-serv23001/lib/rbbr/ui/gtk > > Modified Files: > browselist.rb > Log Message: > * lib/rbbr/ui/gtk/browselist.rb: Fix for a bug when load scripts which uses > Ruby/GLib. Reported by Aredridel. > > > Index: browselist.rb > =================================================================== > RCS file: /cvsroot/ruby-gnome2/rbbr/lib/rbbr/ui/gtk/browselist.rb,v > retrieving revision 1.20 > retrieving revision 1.21 > diff -u -d -r1.20 -r1.21 > --- browselist.rb 8 Sep 2003 16:19:38 -0000 1.20 > +++ browselist.rb 19 Sep 2003 12:01:19 -0000 1.21 > @@ -75,7 +75,7 @@ > end > > def update_list(modul) > - if modul < GLib::Instantiatable or modul < GLib::Interface > + if modul < GLib::Object > modul.signals(false).each{|signal_name| > signal = modul.signal(signal_name) > append([signal.name, signal.return_type.name, この変更はまずいです。 Gtk::Editableなどのインターフェースのシグナルが表示されなくなってしまいます。 本質的な問題は、GLib::Instantiatableと関係ないクラスに インターフェースのモジュールをinclude出来てしまうことでした。 ですが、モジュールのappend_featuresをオーバーライドすることで これを禁止することが出来たので、この変更はもう不要のはずです。 -- 酒井 政裕 / Masahiro Sakai |