バグ?:カードの解説入力で貼り付けするとカーソルが一瞬砂時計になる

Issue #195 resolved
暗黒 騎士 created an issue

貼り付けでもCTRL+Vでもなるようです。

Build: 2017-08-23 19:49:25 Debug (32-bit) Compiled by Digital Mars D 2075

Comments (8)

  1. k4nagatsuki repo owner

    cwxeditorのコード上ではそうした事をしていないはずなので、貼り付けに時間がかかった時にそういうものが出るというWindowsの仕様かとも思い、次にSWTの仕様を疑いましたが、簡単に試した限りはどちらも違うように見えます。

    どうしてそうなるのかよく分かりません。

    無害ではありますが少し気持ち悪くはありますね。

  2. 暗黒 騎士 reporter

    うーん、自分の環境だと4.1 32bitと自分の方でフォークさせて頂いているXE-classic(13日ビルド、その後Cでコンパイル?とちょっと尻ごんでいたんですが、意外に簡単でよかったです)では再現せず、手元のXEC22日ビルドで再現するのでその間に入ったもの(自分のビルド環境はDMD2075.0のままなのでDMDではない?)かと思いました。

  3. k4nagatsuki repo owner

    手許では4.1でも再現しました。再現しないように見えるのは処理速度のせいかもしれません。大量のテキストを貼り付けた時に起こらないでしょうか?

  4. 暗黒 騎士 reporter

    あ、CTRL+V押しっぱなしにすると一瞬砂時計になるのは再現しますね。

    すいません、説明が悪かったようです。 現ビルドはそれに加えて連続でコピペしようとすると一回の貼り付けにつき0.5秒程度の遅延が出る感じです。(押しっぱなしにしていると先行入力したような感じで離した後も入力されていく) もちろん害は低いのですが、操作感的には元の方がいいと思います。

    作業領域更新とクリーンビルドを繰り返して原因のコミットは突き止めました。これから具体的な箇所を探してみます。

    issue #190 pull request #202

    012d7ec サブウィンドウのテキストエディットのメニューがメインツールバーの状態に反映される

  5. k4nagatsuki repo owner

    このcommitはサブウィンドウのフォーカスが合っているコントロールの状態がメインウィンドウのツールバーに反映される問題を修正したものです(他にも色々混じってしまっていますが)。メインウィンドウのボタンを押そうとすると結局フォーカスが移動するので、そのような状態の反映は正しくない、というわけです。

    これにより、ツールバーを更新する時、一部のボタンについてはフォーカスのあるコントロールで話が済まず、それより上位のコントロールへ遡る処理が発生するようになり、その結果処理が重くなったのだと思います。

    ツールバーの更新が連続してかかってしまっているとすると、抑止できるかもしれません。

  6. k4nagatsuki repo owner

    pull request #212

    ツールバーの更新をメインスレッド1周につき1回までに抑止しました。

    これで効果が無いとすると、個別のツールボタンの有効無効確認処理を追っていかなければなりません。さすがにこの時期には辛いです。

  7. 暗黒 騎士 reporter

    ご慧眼通りのようです。どちらも以前の挙動に改善していました。

    対応ありがとうございました。

  8. Log in to comment