浏览代码

Bug 1885: Local file panel ignored changes in latter case of files and folders

https://winscp.net/tracker/1885
(cherry picked from commit 96b538df295044587e7e3e97e8c49c99ea6c30c6)

Source commit: 5fbf1def2bfff6aa2b1d2235a2aec9b60b2e509b
Martin Prikryl 5 年之前
父节点
当前提交
3f78c3e49d
共有 2 个文件被更改,包括 4 次插入0 次删除
  1. 2 0
      source/packages/filemng/DirView.pas
  2. 2 0
      source/packages/filemng/DriveView.pas

+ 2 - 0
source/packages/filemng/DirView.pas

@@ -1489,7 +1489,9 @@ begin
         FChangeTimer.Interval := 0;
 
         EItems := TStringlist.Create;
+        EItems.CaseSensitive := True; // We want to reflect changes in file name case
         FItems := TStringlist.Create;
+        FItems.CaseSensitive := True;
         NewItems := TStringlist.Create;
 
         PUpdate := False;

+ 2 - 0
source/packages/filemng/DriveView.pas

@@ -1810,6 +1810,7 @@ begin {CallBackValidateDir}
       ParentDir := IncludeTrailingBackslash(NodePath(Node));
       {Build list of existing subnodes:}
       SubDirList := TStringList.Create;
+      SubDirList.CaseSensitive := True; // We want to reflect changes in subfolder name case
       while Assigned(WorkNode) do
       begin
         SubDirList.Add(TNodeData(WorkNode.Data).DirName);
@@ -1818,6 +1819,7 @@ begin {CallBackValidateDir}
       {Sorting not required, because the subnodes are already sorted!}
 
       SRecList := TStringList.Create;
+      SRecList.CaseSensitive := True;
       DosError := FindFirst(ApiPath(ParentDir + '*.*'), DirAttrMask, SRec);
       while DosError = 0 do
       begin