こんにちは。

以下の codeで button 1 以外 (2か 3)で clickしまくったり text widget上を
drag (clickしたまま、動かすだけ)しまくると core dumpします。

やっとここまで小さくしたんですけど、行きづまってしまいました。

あ、あと、popup menuには、[ruby-ext: 00596]に加えて下の patchが必要だと
思います。
--
         yashi

require 'gtk' popup = Gtk::Menu.new popup.show popup.signal_connect('enter-notify-event') do end t = Gtk::Text.new t.signal_connect('button-press-event') do popup.popup(nil, nil, nil, 1, 1) end w = Gtk::Window.new w.add(t).show_all Gtk::main
--- rbgtkcontainer.c 1999/11/29 13:57:57 1.1.1.2 +++ rbgtkcontainer.c 1999/11/29 22:50:17 @@ -499,6 +499,8 @@ menu_popup(self, pshell, pitem, func, button, activate_time) VALUE self, pshell, pitem, func, button, activate_time; { + GtkWidget *gpshell = NULL; + GtkWidget *gpitem = NULL; GtkMenuPositionFunc pfunc = NULL; gpointer data = NULL; @@ -507,8 +509,15 @@ data = (gpointer)func; add_relative(self, func); } + if (!NIL_P(pshell)){ + gpshell = get_widget(pshell); + } + if (!NIL_P(pitem)) { + gpitem = get_widget(pitem); + } + gtk_menu_popup(GTK_MENU(get_widget(self)), - get_widget(pshell), get_widget(pitem), + gpshell, gpitem, pfunc, data, NUM2INT(button),