[ 新規に投稿する ]

フォルダツリーの縦スクロール時の表示がおかしくなる場合があNo.07535
hawk-eye さん 18/11/11 21:20 [ コメントを投稿する ]
  Windows 10 Pro (64ビット版)
秀丸ファイラーClassic Version 1.40 (64ビット版) 使用

例)
D:\親フォルダ1
 ├─子フォルダ1
 │  ├─孫フォルダ1
 │  │  ├─
 │  │  ├─
 │  :  :
 │     ※孫フォルダ1直下にフォルダが100個近くある
 │
 ├─子フォルダ2
 │  ├─孫フォルダ2
 │  ├─
 :  :
    ※子フォルダ2直下にフォルダが300個近くある

上記の例のように大量のフォルダを直下に持つフォルダがいくつかあるのですが、
フォルダツリーの縦スクロールバーのつまみを大きく移動しないと一番下まで見られないような場合、
縦スクロールバーのつまみをドラッグして下方向に移動しようとすると
フォルダツリーの表示がその間だけおかしくなる時があります。

例えば、上記のフォルダツリーで子フォルダ2を展開した場合、
かつ、子フォルダ2を開いてファイル一覧に表示している場合、
縦スクロールバーのつまみをドラッグして下方向に移動しようとすると
子フォルダ2はスクロールして上の方に隠れているはずなのに、
子フォルダ2(開いているフォルダ)を含んだ範囲がフォルダツリーに表示されようとします。

ドラッグしてつまみを動かせば実際の場所を表示しようともするので、
子フォルダ2(開いているフォルダ)を含んだ範囲と実際の場所(つまみの位置)の範囲が
0コンマ何秒かで交互に表示される感じでチラチラします。

子フォルダ2(開いているフォルダ)を含んだ範囲と書きましたが、
縦スクロールバーのつまみが一番上にある時に子フォルダ2が見える位置でもあるので、
子フォルダ2を表示しようとしていたのか、一番上を表示しようとしていたのか
今はその時の正確な表示位置は思い出せません。

ドラッグを離せば、つまみがある位置で正しく表示されます。

この現象は、今年の夏頃から3回発生しました。

発生した時は、ファイルやフォルダをコピー、移動、削除したり、
外付けハードディスクを接続して作業した後に外したり、
ごみ箱から元に戻したり、編集メニューで操作したのを戻したり、
ネット上のファイルやHPを保存したり削除したり、
zipやrarを解凍したり削除したりなどしていましたが、
これらの操作を思い出しながら試してみても、どうも再現できません。

これらの情報では対応できないかもしれないですが、
おかしくなる場合がある事だけご報告させて頂きました。

以上
[ ]
RE:07535 フォルダツリーの縦スクロール時の表示がおかしくなるNo.07537
秀丸担当 さん 18/11/12 10:04 [ コメントを投稿する ]
 
バグ情報と詳しいことなどありがとうございます。
何らかのおかしくなる条件があるのだと思います。
そういう事例があるということで、問題があるときの再現条件の参考にさせていただきます。
[ ]
RE:07537 フォルダツリーの縦スクロール時の表示がおかしくなるNo.07557
hawk-eye さん 18/12/02 18:13 [ コメントを投稿する ]
  再現方法が分かりました。

手順は、次の通りです。
1.フォルダツリーの横スクロールバーがない状態で秀丸ファイラーClassicを起動します。
2.任意のフォルダを展開し、横スクロールバーが出るようにします。
3.横スクロールバーのつまみを右側に移動します。
4.展開したフォルダを閉じます。(横スクロールバーは不要になる幅となる)
  ※この時点で、横スクロールバーは残っています。
5.横スクロールバーのつまみを左に移動します。
  ※横スクロールバーが消えます。
6.縦スクロールバーのつまみをドラッグして下に移動します。
  ※つまみの位置による表示範囲とフォルダツリーの一番上の表示範囲が交互に表示されます。

何回か確認していたら、
上記5の操作をした時点で異常終了する事があったり、
上記6の操作をした時点で秀丸ファイラーClassicが反応しなくなったり、
という事もなりました。

一応、異常終了した時のdumpファイルもメールで送付しておきます。

以上
[ ]
RE:07557 フォルダツリーの縦スクロール時の表示がおかしくなるNo.07560
秀丸担当 さん 18/12/03 09:04 [ コメントを投稿する ]
 
詳しい再現方法ありがとうございます。
手順通りにしてみたのですが、うまく再現できず、設定も関係している気がします。
[ツール]→[オプション]→[デザイン/操作]→[フォルダツリー2]の「自動縦スクロール」や「自動展開」の状態を教えていただけると条件が絞れると思います。
または、これを変えてみると、再現の仕方が変わってくるかもしれないです。

こちらでこのオプションの組み合わせを変えてみてもわからななったのですが、もし差支えなければ[ツール]→[設定内容の保存/復元]で設定を保存したものも送っていただけると助かります。
[ ]
RE:07560 フォルダツリーの縦スクロール時の表示がおかしくなるNo.07561
hawk-eye さん 18/12/03 09:38 [ コメントを投稿する ]
  設定ファイルを送付致しました。

よろしくお願い致します。
[ ]
RE:07561 フォルダツリーの縦スクロール時の表示がおかしくなるNo.07562
秀丸担当 さん 18/12/03 12:33 [ コメントを投稿する ]
 
設定ファイル受け取りました。
ありがとうございます。

自動縦スクロールのオプションがONになっていることはわかりましたが、やはり再現できず、dumpの情報は秀丸ファイラーClassic内ではないようで、ちょっとわからないです。
条件から推定して安全となるような対策をしてみようと思いますが、自動縦スクロールのオプションがONが再現する条件なのか絞りきれないです。このオプションをOFFにすると再現しないでしょうか。
[ ]
RE:07562 フォルダツリーの縦スクロール時の表示がおかしくなるNo.07564
hawk-eye さん 18/12/03 13:35 [ コメントを投稿する ]
  自動縦スクロールをOFFにしても再現します。
[ ]
RE:07562 フォルダツリーの縦スクロール時の表示がおかしくなるNo.07565
hawk-eye さん 18/12/03 15:41 [ コメントを投稿する ]
  >上記6の操作をした時点で秀丸ファイラーClassicが反応しなくなったり、

と書きましたが、上記5の誤りでした。すみません。

>dumpの情報は秀丸ファイラーClassic内ではないようで、

との事ですが、
縦スクロールバーがおかしくなったり、異常終了したり、
秀丸ファイラーClassicが反応しなくなったりするのは、
上記5の操作により横スクロールバーが消えた時点で
おかしくなっているからのような気がします。

ちなみに、上記4の操作をした後、
横スクロールバーを消さずに再びフォルダを展開し、
縦スクロールバーのつまみをドラッグしても問題はありません。
[ ]
RE:07565 フォルダツリーの縦スクロール時の表示がおかしくなるNo.07566
秀丸担当 さん 18/12/03 16:49 [ コメントを投稿する ]
 
自動縦スクロールをOFFでも再現するということで情報ありがとうございます。
dumpでも特定できないことから、言われているように、何らかの既に壊れた状態があって、その後で起きているためだと思います。

1つの関係しそうな動作として、縦スクロールのつまみのドラッグ中と離した後で状態が違うことがあります。
自動縦スクロールがOFFのとき、ツリーを展開して縦スクロールで一番下まで行き、キーボードで左矢印キーを押すと、スクロールはそのままにして展開は閉じるようになります。
そこから縦スクロールバーのつまみを上下させると、スクロール可能な範囲が変化します。
これが関係しているかわかりませんが、こういうケースに関連する処理を見直してみます。
[ ]
RE:07566 フォルダツリーの縦スクロール時の表示がおかしくなるNo.07571
秀丸担当 さん 18/12/04 09:25 [ コメントを投稿する ]
 
V1.42β7で、つまみをドラッグに内部的なスクロールに関する情報をリセットしたり、幾つかの念のための対策をしてみています。
[ ]
RE:07571 フォルダツリーの縦スクロール時の表示がおかしくなるNo.07572
hawk-eye さん 18/12/04 09:41 [ コメントを投稿する ]
  対応ありがとうございます。

V1.42β7で3回試してみましたが、
1回目は縦スクロールバーの動作がおかしくなり、
2回目は異常終了し、
3回目は反応しなくなり、
以前と変わりませんでした。
[ ]
RE:07572 フォルダツリーの縦スクロール時の表示がおかしくなるNo.07573
秀丸担当 さん 18/12/04 10:50 [ コメントを投稿する ]
 
ご確認ありがとうございます。
変わらないとなると、手がかりが掴めず、困りました。
ログを取って調べることができたらいいのですが、どこの時点でおかくなっているのかまだ把握できていないです。
再現できればいいのですが、こちらで複数のPCで起きないので、もしそちらで複数のPCがあって比べることができたら違いがわかると助かります。
または、こちらでは空の新規フォルダをたくさん作って試してみたりしていますが、特定のフォルダだけであったり、空のフォルダだったら大丈夫だったりするかどうかとか、既に前に条件は教えていただいていますが、お手数ですより詳しくわかると助かります。
または、全然別の考えとして、例えばマウスのドライバ関係とかで、スクロールバーが消えるとその後おかしいとかいうことだとしたら、マウスの常駐系ソフトなどで変化があるかもしれないです。
[ ]
RE:07573 フォルダツリーの縦スクロール時の表示がおかしくなるNo.07575
hawk-eye さん 18/12/04 15:32 [ コメントを投稿する ]
  ●マウス

使用しているマウスは、ELECOMの「M-LS16ULBK」(対応OSはWindows Vista以降)ですが、
横スクロールバーが消えた後でも、マウスは問題なく使えています。

使っているのはノートPCですが、
PC本体に付いているNXパッドでも再現しました。

●別のPC

WindowsXP Pro (32ビット版)のPCに、
問題が発生したPCとほぼ同じディレクトリ構造を
xcopyコマンド(オプションは「/t /e」)でコピーして試しましたが、
再現しませんでした。
※HDD容量の問題でファイルはコピーしていません。

●再現方法の再説明

フォルダが空かどうかに関係なく発生します。

空のフォルダ「D:\TEST\123456789012345678901234567890」を作ってみましたが、再現します。

私のPC(NECの「PC-GN247BGL1」)は、
Windows8.1→Windows10にアップグレードしたものですが、
CドライブならどのPCでもそんなに変わらないと思うので
Cドライブの具体的なフォルダ名で説明し直すと、

1.最後に閉じたフォルダという事で、初期フォルダが
  「C:\Windows 8.1(C:)」で秀丸ファイラーClassicを起動します。
2.Cドライブ直下の「Windows」フォルダを展開し、横スクロールバーを出るようにします。
3.横スクロールバーのつまみを右端まで移動します。
  ※「Windows」フォルダを閉じる「-」がギリギリ左端に見える状態になります。
4.「-」をクリックして展開した「Windows」フォルダを閉じます。
  ※この時点で、横スクロールバーは残っています。
5.横スクロールバーのつまみを左端まで移動します。
  ※横スクロールバーが消えます。

以上の操作で、縦スクロール時の表示の件、異常終了、反応なしのいずれかが再現します。
[ ]
RE:07575 フォルダツリーの縦スクロール時の表示がおかしくなるNo.07576
秀丸担当 さん 18/12/04 16:23 [ コメントを投稿する ]
 
非常に詳しい情報ありがとうございます。
やはり同じようにしても再現せず、複数のPCで起きるということで、こちらに伝わっていない何かで、そのPCに共通している何かがあるのだと思います。
それがわかるといいのですが…
xpで起きないというのも何かヒントになる気がします。

関係無いとは思うのですが、最近のWindows10のVersion 1803で、ファイル一覧の詳細表示でテキストの描画で幅が足らないときの"..."の表示がおかしくて、"..."が出たりでなかったりというWindowsの問題があります。
これはタイトルバーやエクスプローラでも起きる問題で、Windows 10 Version 1809では直っている問題です。
秀丸ファイラーClassicでは、V1.40ではWindowsのそのままで、V1.42β3以降では独自の描画して回避するようになっています。
こちらで試しているWindows10はいずれも1803でした。
(ファイル一覧ではなくツリーの表示で、ツリーは"..."表示はしていないので、この問題が関係している可能性は低いと思いますが、参考情報として)
[ ]
RE:07575 フォルダツリーの縦スクロール時の表示がおかしくなるNo.07578
秀丸担当 さん 18/12/05 07:49 [ コメントを投稿する ]
 
改めてテストして、再現させることができました。
大変お手数をお掛けしました。

再現手順として、いったん横スクロールしてから、C:\のツリーを閉じて、縦スクロールバーを無くして横スクロールバーだけの状態にすることがポイントでした。
クリックできないのが再現し、アクティブ切り替えすると回復するようです。
稀に位置がちらつくほうも再現しました。

調べてみたところ、直接的な原因としては、VisualStyle表示のスクロールバーにあるようです。
V1.36より前はクラシック表示で、V1.36以降ではWindows10であれば自動的にVisualStyle表示となるようにしたので、それで起きるようになったのだと思います。
違いは描画のスタイルの指定だけで、スクロールバーへの操作は同じなのですが、なぜかVisualStyle表示だと起きるようです。
VisualStyle表示のまま回避できる方法があるといいのですが、現状の動作にする限りは、根本的にはクラシック表示にするしかなさそうです。
設定は無いので、とりあえずV1.36より前と同じように修正しようかと思います。

再現できたのでいろいろ調べることができます。
ありがとうございます。
[ ]
RE:07578 フォルダツリーの縦スクロール時の表示がおかしくなるNo.07579
hawk-eye さん 18/12/05 08:17 [ コメントを投稿する ]
  朝早くから頭が下がる思いです。
ありがとうございました。

よろしくお願い致します。
[ ]
RE:07579 フォルダツリーの縦スクロール時の表示がおかしくなるNo.07583
秀丸担当 さん 18/12/06 09:36 [ コメントを投稿する ]
 
1.42β8で、展開を閉じたときにすぐ横スクロールバーは消すようにしました。
この次に正式にしようと思います。
VisualStyle表示は、Windows 10ではやはり不可欠で、クラシック表示にするのはやめました。
秀丸ファイラーClassicは、Windows 10のPer-Monitor DPI対応をしていますが、これをすると、WindowsのDPI変更後、クラシック表示のスクロールバーは描画が乱れてしまうようです。
クラシック表示のスクロールバーは事実上使えないので、Windows 10では常にスクロールバーはVisualStyleを有効としていました。

----

ちなみにCtrl+Leftのキー操作では問題が起きず、マウスが乗っていてマウス操作のときにだけ起きるようです。
推測ですが、VisualStyleはマウス操作でフェードするアニメーションがあるので、マウス操作でスクロールバーを消すことをすると、存在しないスクロールバーをアニ メーションしようとして、そこでどこかメモリを壊しているという気がします。(でもアニメーションを無効しても起きるので違うかもしれないですが)
今回は回避をしただけですが、いずれは独自のスクロールバーに置き換えたほうがいいかもしれないです。
[ ]
RE:07583 フォルダツリーの縦スクロール時の表示がおかしくなるNo.07586
hawk-eye さん 18/12/06 10:26 [ コメントを投稿する ]
  1.42β8で直っている事を確認しました。
ありがとうございました。
[ ]
RE:07583 フォルダツリーの縦スクロール時の表示がおかしくなるNo.07613
hawk-eye さん 18/12/17 09:45 [ コメントを投稿する ]
  Windows 10 Pro (64ビット版) 1803
秀丸ファイラーClassic Version 1.42 (64ビット版) 使用

以前報告した操作では再現しなくなりましたが、
フォルダツリーの表示が以前と同じようにおかしくなるのが
また再現しました。

三日前に再現してからいくらか試してみましたが、
どうも再現方法が分かりません。
[ ]
RE:07613 フォルダツリーの縦スクロール時の表示がおかしくなるNo.07615
秀丸担当 さん 18/12/17 16:00 [ コメントを投稿する ]
 
今回の修正は、展開を閉じるときに横スクロールバーの必要が無いときに消すようにした修正で、スクロールバーの操作によってスクロールバーの状態が変わること自体は変えていないので、他にもそういう操作があったら問題になる可能性はあると思います。
こちらで再現できたらその点も修正したいと思います。根本的にはスクロールバーは独立した存在にしたほうがよさそうです。
[ ]
RE:07613 フォルダツリーの縦スクロール時の表示がおかしくなるNo.07620
秀丸担当 さん 18/12/19 11:27 [ コメントを投稿する ]
 
V1.44β1で、[ツール]→[オプション]→[デザイン/操作]→[フォルダツリー2]の「自動縦スクロール(サブフォルダ展開時)」をON相当で固定にしてみています。
OFF相当の場合、横スクロールバーではなく縦スクロールバーのほうで、展開状態を変えてスクロールバーがそのままだと同様の問題が起きる可能性がありました。
[ ]

[ 新規に投稿する ]