山本です。

バグのあったファイルしかチェックしなかったので気づかなかったのですが、
今度は、メニューのサンプルが落ちるようになっていました。

ただし、これは bcc32 でしか再現しませんでした。(mswin32では落ちない)

////////////////////////
// menubar1.rb
e:/ruby/lib/ruby/1.8/tk.rb:1180: [BUG] Segmentation fault
ruby 1.8.2 (2004-12-24) [i386-bccwin32]


Abnormal program termination

////////////////////////
// menubar2.rb
e:/ruby/lib/ruby/1.8/tk.rb:1180: [BUG] Segmentation fault
ruby 1.8.2 (2004-12-24) [i386-bccwin32]


Abnormal program termination


下のコードでも再現できます。ただし、ボタンだと落ちないし、
exitを遅延させてウィンドウが閉じてから終了するようにしても
落ちないので、メニューウィンドウが関係している気がします。

require 'tk'

exit_later = proc {
  Thread.new {
    sleep(1)
    exit
  }
}

menu_spec = [
  [['File', 0],
  ['Crash', proc{exit}, 0], # 落ちる
  ['Quit', exit_later, 0]]  # 落ちない
]

TkMenubar.new(nil, menu_spec).pack

TkButton.new {
  text "exit"
  command proc{exit} # 落ちない
  pack
}

Tk.mainloop