2011年7月21日

[ruby-list:48233] Re: [ANN] Ruby-GNOME2 1.0.0

須藤です。

In <CAL36QAXkS19rrEb4fX1eHF_NK1WAJO8+9RnTxacxvRKqax1deQ@xxxxx>
"[ruby-list:48222] Re: [ANN] Ruby-GNOME2 1.0.0" on Wed, 20 Jul 2011 22:14:40 +0900,
ashbb <ashbbb@xxxxx> 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を使おうと思
います。

投稿者 xml-rpc : 2011年7月21日 23:37
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/105310
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。