フォルダツリーの縦スクロール時の表示が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であれば自動的にVisualS
tyle表示となるようにしたので、それで起きるようになったのだと思います。
違いは描画のスタイルの指定だけで、スクロールバーへの操作は同じなのですが、な
ぜか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相当の場合、横スクロールバーではなく縦スクロールバーのほうで、展開状態を
変えてスクロールバーがそのままだと同様の問題が起きる可能性がありました。

[ ]