|
From: myokoym <my...@gm...> - 2013-06-08 00:16:18
|
こんにちは。横山です。
2013年6月8日 3:29 S. Kitagawa <ch...@ll...>:
>>問題のエラーが起きるケースが一つ見つかりました。以下のようなRubyプログラムで、
>>Gtk::Notebookに追加したページのラベルにアンダーバーが入っていると、なぜか
>>ウィンドウをリサイズした時にプログラムが落ちます。(Windows 7上のruby 2.0/1.9.3)
いろんな問題が絡み合っていそうで戦々恐々ですね。
とりあえずアンダーバー問題ですが、ニーモニックが原因のようで、
以下の手順で必ず落ちます。
1. Windows上で、
2. ニーモニック文字がキーボードアクセラレータとして登録されている状態で、
3. ウィンドウの端をドラッグしてリサイズしようとする
ちなみに、ニーモニックの概要はこんな感じです。
下線付き文字によってメニュー項目などに定義されます。
エンドユーザーは、"Alt + ニーモニックキー"(例:Alt + A)を押すことによってメニュー項目を選択できます。
http://documentation.softwareag.com/natural/nat633win_j/pg/pg_pte_def_mne_accel_key.htm
サンプルとして提示されていたコードでは、Gtk::Label.newの第二引数に
trueが指定されているので、ニーモニックが有効になっています。
notebook.append_page(Gtk::Button.new(label:'_Button'),#こっちは影響なし
Gtk::Label.new('_Tab', true))#こっちは影響あり
第二引数を省略するかfalseを指定すると、ニーモニックが無効になるので
落ちなくなると思います。
notebook.append_page(Gtk::Button.new(label:'_Button'),#こっちは影響なし
Gtk::Label.new('_Tab'))#第二引数を省略すれば落ちなくなる
アンダーバーがなくても落ちるのは、別の問題か、
単にトリガーが異なるだけで同じ問題かもしれません。
--
Masafumi Yokoyama @myokoym
|