From: Kouhei Sutou Date: 2011-07-21T23:37:46+09:00 Subject: [ruby-list:48233] Re: [ANN] Ruby-GNOME2 1.0.0 須藤です。 In "[ruby-list:48222] Re: [ANN] Ruby-GNOME2 1.0.0" on Wed, 20 Jul 2011 22:14:40 +0900, ashbb wrote: > gtk2-1.0.0-x86-mingw32 を使ってみたところ、以下のエラーが発生しました。 > > Gdk-CRITICAL **:gdk_property_change: assertion `window != NULL' failed >>Exit code: -1073741510 > > 少し調べてみたところ、以下のテスト環境Bと以下のテストコードで、以下のユーザ操作を行うと > 再現することが分かりました。 > > ちなみにテスト環境AとBの違いは、gtk2のバージョンのみです。 > gtk2 0.90.8ではエラーが発生しませんが、1.0.0では発生します。 > # ちなみに、0.90.9でもエラー発生しました。 > # 0.90.7は発生しませんでした。 gtk2 0.90.8とgtk2 1.0.0での大きな違いは同梱しているGTK+のバー ジョンの違いなんですよね。(gtk2 0.90.8ではGTK+ 2.22.1でgtk2 0.90.9以降はGTK+ 2.24.0。) ということで、gtk2 1.0.0に同梱しているGTK+ 2.24.0とgtk2 0.90.8を一緒に使ってみたら再現しました。ただし、エラーメッセー ジがでるだけで、異常終了はしませんでした。 (再現コードがあってとても助かりました。ありがとうございます。) bugzilla.gnome.orgを探してみたのですが、これが怪しい気がしま す。 https://bugzilla.gnome.org/show_bug.cgi?id=652239 これはGTK+ 2.24.5で修正されているのですが、ftp.gnome.org で配布しているWindows用GTK+の最新版が2.24.0なので、gtk2 1.0.0ではこの修正は取り込まれていません。 > エラーの報告のみで申し訳ありませんが。解決方法があればご教授頂けるとありがたいです。 以下のいずれかの方法でいかがでしょうか。 1. 「require 'gtk2'」の前に「gem 'gtk2', '= 0.98.0'」と書 いてgtk2 0.90.8を使うようにする。 2. gtk2 1.0.0でもgtk2 0.90.8に同梱しているGTK+ 2.22.1を使 う。 > move c:\Ruby192\lib\ruby\gems\1.9.1\gems\gtk2-1.0.0-x86-mingw32\vendor c:\Ruby192\lib\ruby\gems\1.9.1\gems\gtk2-1.0.0-x86-mingw32\vendor-gtk2-2.24.0 > xcopy /S /E c:\Ruby192\lib\ruby\gems\1.9.1\gems\gtk2-0.90.8-x86-mingw32\vendor c:\Ruby192\lib\ruby\gems\1.9.1\gems\gtk2-1.0.0-x86-mingw32\vendor 次にリリースするときはGTK+ 2.24.0ではなく2.22.1を使おうと思 います。