稲地です。

----- Original Message -----
送信者 : Minoru Inachi <inachi / earth.interq.or.jp>
宛先 : ruby mailing list <ruby-list / netlab.co.jp>
送信日時 : 1999年7月3日 16:24
件名 : [ruby-list:15217] Re: Gtk::Menu の使い方に関する質問


> 稲地です。
>
> ----- Original Message -----
> 送信者 : Miyaki Masahiro <miyaki / wni.co.jp>
> 宛先 : ruby mailing list <ruby-list / netlab.co.jp>
> 送信日時 : 1999年7月2日 23:13
> 件名 : [ruby-list:15208] Re: Gtk::Menu の使い方に関する質問
>
>
> > 宮木です。
>
> > ところで、少し話は逸れますが、MenuにRadioMenuItemをappend
> > してもget_activeで得られるオブジェクトはMenuItemになります
> > がこれはこういうものなんでしょうか。いえ、特にそれで困って
> > いるわけではないですが。
>
> これは Ruby/GTK のバグです。
> get_active から返ってくるのが MenuItem であることを前提に
> Rubyオブジェクトに変換しています。
>
> 後で ruby-ext に報告しておきます。

ということで、これもすでに修正されているかもしれませんが、
とりあえず以下の修正で大丈夫だと思います。

(MenuItem の派生クラスに絞って変換したほうがいいでしょうかね。)

diff -uNr gtk019/src/rbgtkcontainer.c gtk/src/rbgtkcontainer.c
--- gtk019/src/rbgtkcontainer.c Mon Jun 21 01:40:43 1999
+++ gtk/src/rbgtkcontainer.c Sat Jul  3 16:56:28 1999
@@ -530,7 +530,7 @@
 {
     GtkWidget *mitem = gtk_menu_get_active(GTK_MENU(get_widget(self)));

-    return make_gobject(gMenuItem, GTK_OBJECT(mitem));
+    return make_gobject_auto_type(GTK_OBJECT(mitem));
 }

 static VALUE