指定行への移動でカーソルの表示がおかしNo.07555
凡人さん さん 12/11/12 00:04
 
Windows Vista SP2 32bit
秀丸v8.30b8

7行以上あるテキスト(改行だけでもOK)にて、
ファイルの最終行付近の行の0カラム目にカーソルを合わせます。
そこから指定行への移動(CTRL+G)で-1を入力して移動します。
1行上にカーソルが移動した後、カーソルが上下に分割されて点滅します(画像の左2
つ)。
このとき、カーソルを同一行内で左右に動かすと、点滅してた部分がゴミとして残り
ます(画像の右1つ)。
カーソルを上下に移動すると点滅した箇所が消えました。

6行以下のテキストでは再現しませんでした。

画像
https://www.dropbox.com/s/u43ecynnb135zum/a.jpg

[ ]
RE:07555 指定行への移動でカーソルの表示No.07556
秀丸担当 さん 12/11/12 11:14
 

バグ情報ありがとうございます。
ダイアログボックスの大きさの具合のせいか、手順通りにしてみたところでは再
現できなかったのですが、違うダイアログで別の条件でほぼ同じことが再現でき
ました。

ダイアログボックスとカーソルの重なり具合によって、ダイアログが消えたとき
に再描画される範囲とカーソルがかぶるようなとき、再描画の具合によって同じ
現象になりました。
現象が起きるのは、以下の条件でした。

・[その他]→[動作環境]→[トラブル対策]→[その他トラブル対策]で、「独自キ
ャレットを使わない」をON。
・Aeroではなくクラシック。
・ダイアログボックスの端とカーソル位置が半分重なる。

タブモードの場合、Windows標準のカーソル(=キャレット)では色の反転(点滅)
と再描画によってうまくいかない問題が起きることが確認されていて、そのため、
独自キャレットを使うようになっています。
通常の設定では「独自キャレットを使わない」はOFFですが、ONにするとこうい
った問題が表れてしまうと思います。
ONの場合は、他にいい解決方法があるといいですが、すみませんが現状では仕方
ないということになってしまうと思います。

OFFでも起きるとしたら独自キャレットの方法を見直す必要がありそうですが、
いまのところ再現できていないのでダイアログの重なり具合なども教えてもらえ
ると助かります。
オプションを変更する場合、秀丸エディタの再起動が必要です。

[ ]
RE:07556 指定行への移動でカーソルの表示No.07557
凡人さん さん 12/11/12 14:35
 
>ダイアログボックスの大きさの具合のせいか、手順通りにしてみたところでは再
>現できなかったのですが、違うダイアログで別の条件でほぼ同じことが再現でき
>ました。
>ダイアログボックスとカーソルの重なり具合によって、ダイアログが消えたとき
>に再描画される範囲とカーソルがかぶるようなとき、再描画の具合によって同じ
>現象になりました。

[指定行への移動]以外のダイアログボックス(検索や置換、ファイルタイプ別の設定
など)で
再描画される範囲とカーソルがかぶるようにして試してみましたが問題は発生しませ
んでした。

こちらで確認した条件はこのとおりです
・Windowsのテーマはクラシック
・タブモード
・[独自キャレットを使わない]がOFF
([その他]→[動作環境]→[トラブル対策]→[その他トラブル対策]で[起動直後に必
ずアクティブ化する]のみON。それ以外はOFFです。)


>タブモードの場合、Windows標準のカーソル(=キャレット)では色の反転(点滅)
>と再描画によってうまくいかない問題が起きることが確認されていて、そのため、
>独自キャレットを使うようになっています。
>通常の設定では「独自キャレットを使わない」はOFFですが、ONにするとこうい
>った問題が表れてしまうと思います。

「独自キャレットを使わない」がOFFの状態だとおかしくなります。ONのときは問題
ありませんでした。
当方の環境では独自キャレットを使うと表示がおかしくなるようです。
付属ヘルプの[目次− 動作環境−トラブル対策]の[独自キャレットを使わない]項目
に記載されているような常駐ソフトは使ってないです。


>OFFでも起きるとしたら独自キャレットの方法を見直す必要がありそうですが、
>いまのところ再現できていないのでダイアログの重なり具合なども教えてもらえ
>ると助かります。

画像をアップロードしました。
カーソルは11行目の先頭に置いてから[指定行への移動]を実行しました。
カーソルとダイアログは重なっておりません。(左が実行前。右が実行後)
https://www.dropbox.com/s/0jwa1i7ym9y2ogp/b.jpg


[独自キャレットを使わない]をONすることで問題がでなくなりました。
当方としては一応これで解決しましたので、この件は流していただいても問題ありま
せん。

[ ]
RE:07557 指定行への移動でカーソルの表示No.07558
秀丸担当 さん 12/11/12 14:53
 

詳しい情報ありがとうございます。
オプションOFFということ、ダイアログの位置も関係なさそうということで改め
て調べてみたところ、言われている通りの条件でも再現させることができました。
失礼しました。
独自キャレットのときダイアログと閉じたときに明示的に再描画する範囲を大き
めにとっている関係でそうなる場合がありました。
修正させていただきます。

[ ]