チケット #45916

最近使用したファイルリスト制御の不具合

登録: 2022-10-18 14:54 最終更新: 2022-10-20 22:42

報告者:
(匿名)
担当者:
(未割り当て)
チケットの種類:
状況:
完了
コンポーネント:
(未割り当て)
マイルストーン:
(未割り当て)
優先度:
5 - 中
重要度:
5 - 中
解決法:
修正済み
ファイル:
なし

詳細

ファイルメニュー下の「最近使用したファイルまたはフォルダー」のリスト更新に若干の間違いがあるようです。

ソースコードで、 Src/JumpList.cpp内、GetRecentDocs関数にて、

list.push_back(Item(ucr::toTString(szPath), ucr::toTString(szArguments), ucr::toTString(pv.bstrVal), ucr::toTString(szDescription)));

とあるのですが、

pv.bstrVal

がNULLの可能性があり、その場合に、wstring = NULL; となり落ちます。

この状況になると、

・ファイルメニューを開こうとすると落ちる

・ファイルを保存しようとすると落ちる

という不具合が発生し、ほぼ何もできないようになります。

さらにアンインストールや、設定リセットしても改善されない状態になります。

if (pv.bstrVal) { list.push_back ... }

おそらくこんな感じで改善されるようになると思います。

チケットの履歴 (5 件中 3 件表示)

2022-10-18 14:54 更新者: None
  • 新しいチケット "最近使用したファイルリスト制御の不具合" が作成されました
2022-10-18 16:42 更新者: None
コメント

問題発生時の状況について補足です。

エラー発生時の状態をデバッガで確認すると、各変数が下記のようになっていました。

szPath : L"C://PROGRA~2"

szArguments : L""

pv.bstrVal : <NULL>

szDescription : L""

どうもターゲットがProgramFilesになっているようなのですが、このようになってしまうような操作をした心当たりはありません。

2022-10-19 00:00 更新者: sdottaka
コメント

ご連絡ありがとうございます。この問題の再現はできていませんが、以下のコミットにて修正を行っております。

https://github.com/WinMerge/winmerge/commit/19516532e695e882646374555c0926258d835dbf

以下のURLからダウンロード可能です。

https://ci.appveyor.com/project/sdottaka/winmerge/builds/45106215/artifacts

2022-10-19 00:00 更新者: sdottaka
  • 解決法なし から 修正済み に更新されました
2022-10-20 22:42 更新者: sdottaka
  • 状況オープン から 完了 に更新されました

添付ファイルリスト

添付ファイルはありません

編集

ログインしていません。ログインしていない状態では、コメントに記載者の記録が残りません。 » ログインする