Parcourir la source

Issue 2369 – Failure after switching off Thumbnails view

https://winscp.net/tracker/2369

Source commit: 6ca85570d134d8356b6ea553426e0c9945afae86
Martin Prikryl il y a 6 mois
Parent
commit
8d814d4cc3
2 fichiers modifiés avec 9 ajouts et 2 suppressions
  1. 8 2
      source/core/RemoteFiles.cpp
  2. 1 0
      source/core/RemoteFiles.h

+ 8 - 2
source/core/RemoteFiles.cpp

@@ -1572,6 +1572,12 @@ bool TRemoteFileList::AddFile(TRemoteFile * File)
   return true;
 }
 //---------------------------------------------------------------------------
+void TRemoteFileList::ExtractFile(TRemoteFile * File)
+{
+  Extract(File);
+  File->Directory = NULL;
+}
+//---------------------------------------------------------------------------
 TStrings * __fastcall TRemoteFileList::CloneStrings(TStrings * List)
 {
   std::unique_ptr<TStringList> Result(new TStringList());
@@ -1731,12 +1737,12 @@ void __fastcall TRemoteDirectory::SetIncludeParentDirectory(Boolean value)
     if (value && (FParentDirectory != NULL))
     {
       DebugAssert(IndexOf(FParentDirectory) < 0);
-      Add(FParentDirectory);
+      AddFile(FParentDirectory);
     }
     else if (!value && (FParentDirectory != NULL))
     {
       DebugAssert(IndexOf(FParentDirectory) >= 0);
-      Extract(FParentDirectory);
+      ExtractFile(FParentDirectory);
     }
   }
 }

+ 1 - 0
source/core/RemoteFiles.h

@@ -223,6 +223,7 @@ public:
   TRemoteFile * __fastcall FindFile(const UnicodeString &FileName);
   virtual void __fastcall DuplicateTo(TRemoteFileList * Copy);
   virtual bool AddFile(TRemoteFile * File);
+  virtual void ExtractFile(TRemoteFile * File);
 
   static TStrings * __fastcall CloneStrings(TStrings * List);
   static bool AnyDirectory(TStrings * List);