パスワードを忘れた? アカウント作成
621003 journal

kzkの日記: immodule for Qt:BCパッチ - part5 5

日記 by kzk

tyuyuさん、yamakenさん報告有難う御座います。
やっぱりBC版のパッチに問題が有りますね。

問題は、candidate windowが作成される時にもう一度pluginが作成されてしまうという事である。
タイミングよく分からんが、QWidgetが作成される時にPluginが再生成されてしまう事があるようだ。
こいつを追い詰める必要が有るな。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by Daicki (4060) on 2004年05月22日 18時49分 (#553915) 日記
    tyuyuさん、yamakenさん報告有難う御座います。
    やっぱりBC版のパッチに問題が有りますね。

    問題は、candidate windowが作成される時にもう一度pluginが作成されてしまうという事である。
    タイミングよく分からんが、QWidgetが作成される時にPluginが再生成されてしまう事があるようだ。
    条件が完全には理解できていませんが、
    createInputContext() に原因があるのかもしれません。

    この関数は、top-levelのwidgetにフォーカスが当たるなどした際に
    callされ、QInputContextがcreateされるようにできています。詳しくは、
    createInputContext() をcallしているところを見てください。


    でも、このQInputContextは、今入力しているwidgetとは関係ない
    widget(candidate window)に対応付けられているはずですよね。

    また、フォーカスが当たらないようになっていれば
    問題はないはずだと思うのですが・・・。

    • アドバイス有難う御座います。
      createInputContext周りを調べてみた結果フォーカスを移さなければいいじゃないかという結論に達しました。
      plugin側のみで対処はできそうです。

      ただ。
      examples/popup/popupとか実行してみると分かりますが、WType_Popupを持つwidgetが作成されるとpluginも作られるんですよねぇ。
      入力用のwidgetでなくても。

      これって無駄じゃないですか?
      例えばQPopupMenuなんかが作られる度(例えば、右クリックメニューを出す度)にpluginがロードされるんですよ?
      親コメント
      • ただ。
        examples/popup/popupとか実行してみると分かりますが、WType_Popupを持つwidgetが作成されるとpluginも作られるんですよねぇ。
        入力用のwidgetでなくても。

        これって無駄じゃないですか?
        例えばQPopupMenuなんかが作られる度(例えば、右クリックメニューを出す度)にpluginがロードされるんですよ?
        テキスト入力用のwidgetを判別する方法は、
        Qtには存在していなかったと思うのですが・・・。

        私は、この判定を実質的に実現できるのが、
        setInputMethodEnabled()
        isInputMethodEnabled()
        であると理解しています。

        で、この二つのメソッドは、バイナリコンパチビリティ的に使えない
        と理解しているんですが・・・QWidgetでなら大丈夫なのかな?
        親コメント
        • 関数を使う分にはバイナリコンパチビリティは大丈夫だと思うんですけどねぇ。。。

          一応larsさんに聞いてみませうm(_ _)m
          親コメント
          • IRCのログみたいになりますが(w、
            また私のドキュメントの解釈ミスのようです。

            ただ、以前、IRCでpuntiumさんから
            「BCに関して、isInputMethodEnabled() を実行している箇所も
             削ってくださいと言われました」

            みたいな話を聞いたのも事実なのです(ログも残っていました)。

            ですから、実際に作って手元で問題がないのを確認し、
            Lars氏にパッチをアップデートしたとのメールを送りました。

            いまは反応待ちです。
            親コメント
typodupeerror

身近な人の偉大さは半減する -- あるアレゲ人

読み込み中...