永井@知能.九工大です.

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)
九州工業大学 大学院情報工学研究院 知能情報工学研究系