匿名 | ログイン | 新しいユーザーの作成 | 2024-12-05 11:28 JST |
メイン | マイビュー | 検索 | 変更履歴 | ロードマップ | Vine Linux ホーム |
課題の詳細を表示 [ コメントにジャンプ ] | [ 課題の履歴 ] [ 印刷 ] | ||||||||
ID | プロジェクト | カテゴリ | 登録日 | 最終更新 | |||||
0000511 | Vine Linux | 1 バグ | 2007-04-06 02:41 | 2008-04-06 01:18 | |||||
報告者 | anonymous | ||||||||
担当者 | |||||||||
優先度 | 中 | 再現性 | 不明 | ||||||
状態 | 完了 | 解決状況 | 却下 | ||||||
バージョン | 4.1 | ||||||||
修正予定バージョン | 修正済バージョン | ||||||||
概要 | 0000511: VJE+GEdit or rox filerでシフトkeyを押しただけでhang upする | ||||||||
説明 | 症状: geditもしくはrox-filerとvjeの組み合わせで、 text area上でshift, ctrl key等を単独で押しただけで プログラムがhangしcpuの使用率が100%となり 強制終了させるしか方法がなくなる。 起きる場合と起きない場合の例は * vjeがなければおきない * uimだとおきない(immoduleがximでないので当然か?) * 英数字は入力できる * ctrl, shift, esc keyは押しただけでhang * 日本語入力モードのとき未確定文字が ある時はescを押してもhangしない。 ということで、明らかにwidgetもinput methodも必要 していないkey入力(つまり、key_press_eventや gtk_filter_key_eventでfalseが返される)の場合にhangします。 geditもrox-filerもkey_press_eventの処理に共通点があって、 gdbで追ってみると、geditの場合、gedit_window.cの gedit_window_key_press_event()の中で最後にparent widgetに eventをpropagateさせた後、parent widgetの中で再び event queueにkey eventが戻されるようで(何故?)、 また、全く同じkey eventで gedit_window_key_press_event()が呼び出されます。 このため無限ループに陥っています(stackは消費しないので 永遠です。。。) とてもgtkのlib内や、ましてvjeの中は追えないので、これ 以上の事は判りませんが、おそらくどちらにも問題がある と思われます。 対策: 本質的な理由が判らないので次善の策しかない訳ですが、 少なくとも同じtime stampの同じGdkKeyEventが何度も gedit_window_key_press_event()に渡される事は通常 絶他にないわけです。ですから、 gedit_window_key_press_event()に if (prev_event.hardware_keycode == event->hardware_keycode && prev_event.state == event->state && prev_event.time == event->time) return TRUE; prev_event = *event; なる処理を GTK_WIDGET_CLASS (gedit_window_parent_class)->key_press_event (widget, event); 呼び出しの直前におけば問題なく使えるようになります。 rox-filerの場合もfiler.cの中のkey_press_event処理の部分 に全く同様の処理を追加すると、問題なく使えます。もちろん もともと起き得ない事に対する処理なので他に影響は ないと思います。 VJEはもうサポートされていないとはいえ、Vine 3.0にバンドル されていたわけですし、使いやすいので気に入っています。 また、これ以外では問題もなく使える良いfepです。これらの プログラムでも(特にrox-filer)使えるように なると良いのですが。。。 | ||||||||
タグ | 設定されていません。 | ||||||||
arch | |||||||||
パッケージ | gedit, rox-filer | ||||||||
添付ファイル | |||||||||
コメント | |
(0002531) kazutaka (開発者) 2008-04-06 01:18 |
> 症状: > geditもしくはrox-filerとvjeの組み合わせで、 > text area上でshift, ctrl key等を単独で押しただけで > プログラムがhangしcpuの使用率が100%となり > 強制終了させるしか方法がなくなる。 既に最初の投稿からかなり時間が経っていますが、 どなたからもリプライいただけないようなので、 残念ですが却下とします。 |
課題の履歴 | |||
変更日 | ユーザー名 | 項目 | 変更内容 |
2007-04-06 02:41 | anonymous | 新規課題 | |
2008-04-06 01:18 | kazutaka | 状態 | 新規 => 完了 |
2008-04-06 01:18 | kazutaka | 解決状況 | 不明 => 却下 |
2008-04-06 01:18 | kazutaka | コメント追加: 0002531 |
Copyright © 2000 - 2024 MantisBT Team Copyright © 2012 - 2024 Project Vine |