From: Masao M. <mu...@hi...> - 2006-01-31 15:19:38
|
須藤さん むとうです。 今さらですがこの修正を私のWindows環境で試してみましたが、 どうも、まだ、falseになってくれないみたいです。 #Linux環境だと、一回trueが出てスクリプトが終了する。 試したスクリプトは以下です。 require 'gtk2' Gtk.init while (Gtk.events_pending?) puts Gtk.main_iteration end ご報告だけですみません。 On Tue, 17 Jan 2006 12:11:33 +0900 (JST) Kouhei Sutou <ko...@co...> wrote: > 須藤です. > > Windows環境では,GTK+のメインループ中にRubyに処理を渡すため > にgtk_idle_add()でrb_thread_wait_for()していますが,idle用関 > 数を登録しているために,Gtk.events_pending?が常にtrueになっ > てしまいます. > > このため,以下のようにGtk.events_pending?を使った処理を追加 > して,「時間のかかる処理中に,他の処理を行いながらメインの処 > 理をする」ということができません. > > while Gtk.events_pending? > Gtk.main_iteration > end > > > ということで,Gtk.events_pending?の間だけ,idle用関数を削除 > して,Gtk.events_pending?の結果にidle用関数が影響しないよう > にするというのはどうでしょうか? > > > # そろそろこの問題も解決されると嬉しいです... > # http://ruby-gnome2.sourceforge.jp/ja/sfmltoj.cgi?key=/mailarchive/message.php%3Fmsg_id%3D2606902 > -- -- .:% Masao Mutoh<mu...@hi...> |