永井@知能.九工大です. From: wei <weimayamiew / gmail.com> Subject: [ruby-list:45211] Re: ソース:インストール:MacOSX10.3.9 Date: Tue, 8 Jul 2008 00:05:52 +0900 Message-ID: <4139DCAD-3CEA-48D6-BFFF-0535E710E525 / gmail.com> > > とりあえず,テストコードから > > --------------------------------------------------------- > > ip.delete > > ip = nil # for GC > > --------------------------------------------------------- > > の2行を取り除いて試してみるとどうなるでしょうか? > > 私の > MacOSX10.5.4(intel Mac) > ruby 1.9.0-2 > Aqua Tcl/Tk 8.5.3 (手動インストール) > の環境だと、 > > Wishのウィンドウは開くのですが > その後そのままウィンドウがフリーズしています。 > 暫くしてから、他のwindowを重ねてどかすとwindowの > 中身が再描画がされて > 文字などは出力されますが、操作は出来ません。 > > Aqua Tcl/Tk 8.4.7(Leopard標準)を使用しても同じ現象でした。 ありがとうございます. # 月曜夕方から昨日夕方まで緊急入院してましたので, # 連絡が遅くなってしまい,すみません. どうやら現状では, 「Ruby1.9 + TkAqua では main thread で eventloop を動かさねばならない」 というのを known bug としておくしかなさそうですね. というわけで,あとは TkAqua の場合に うまく RUN_EVENTLOOP_ON_MAIN_THREAD = true 相当の動作に 持っていくための判断方法を考えねばなりません. できれば,tcltklib ライブラリを読み込んだ後, Tcl/Tk インタープリタを生成する前に判断する基準が欲しいのですが, 何か良さそうな案があればご提案いただますと助かります. -- 永井 秀利 (nagai / ai.kyutech.ac.jp) 九州工業大学 大学院情報工学研究院 知能情報工学研究系