From 696410651c316535e91fa9e80f3bdb84a762b81b Mon Sep 17 00:00:00 2001 From: Alex Alabuzhev Date: Sat, 24 Oct 2015 09:01:35 +0000 Subject: [PATCH] =?UTF-8?q?1.=200003053:=20=D0=A0=D0=B0=D1=81=D0=BA=D1=80?= =?UTF-8?q?=D0=B0=D1=81=D0=BA=D0=B0=20=D1=84=D0=B0=D0=B9=D0=BB=D0=BE=D0=B2?= =?UTF-8?q?=20=D1=81=20>1=20=D1=85=D0=B0=D1=80=D0=B4=D0=BB=D0=B8=D0=BD?= =?UTF-8?q?=D0=BA=D0=BE=D0=BC=20=D0=B7=D0=B0=D0=BC=D0=B5=D0=B4=D0=BB=D1=8F?= =?UTF-8?q?=D0=B5=D1=82=20=D0=BF=D0=B0=D0=BD=D0=B5=D0=BB=D0=B8=20=D0=BD?= =?UTF-8?q?=D0=B0=20=D1=81=D0=B5=D1=82=D0=B5=D0=B2=D1=8B=D1=85=20=D0=B4?= =?UTF-8?q?=D0=B8=D1=81=D0=BA=D0=B0=D1=85=20=20=20=20=D0=94=D0=BE=D0=B1?= =?UTF-8?q?=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=D0=B0=20=D0=BF=D1=80=D0=BE=D0=B2?= =?UTF-8?q?=D0=B5=D1=80=D0=BA=D0=B0=20=D0=B8=D0=BC=D0=B5=D0=BD=D0=B8=20FS?= =?UTF-8?q?=20=D0=B4=D0=BB=D1=8F=20=D1=82=D0=B5=D1=85=20=D0=9E=D0=A1,=20?= =?UTF-8?q?=D0=BA=D0=BE=D1=82=D0=BE=D1=80=D1=8B=D0=B5=20=D0=BD=D0=B5=20?= =?UTF-8?q?=D1=83=D0=BC=D0=B5=D1=8E=D1=82=20FILE=5FSUPPORTS=5FHARD=5FLINKS?= =?UTF-8?q?.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- far/changelog | 7 ++++++- far/filelist.cpp | 17 ++++++++++++++--- far/vbuild.m4 | 2 +- 3 files changed, 21 insertions(+), 5 deletions(-) diff --git a/far/changelog b/far/changelog index 27ee60a00b..a610f6601e 100644 --- a/far/changelog +++ b/far/changelog @@ -1,4 +1,9 @@ -drkns 24.10.2015 02:29:09 +0200 - build 4444 +drkns 24.10.2015 11:59:47 +0200 - build 4445 + +1. 0003053: Раскраска файлов с >1 хардлинком замедляет панели на сетевых дисках + Добавлена проверка имени FS для тех ОС, которые не умеют FILE_SUPPORTS_HARD_LINKS. + +drkns 24.10.2015 02:29:09 +0200 - build 4444 1. 0002520: Неправильный текст системной ошибки diff --git a/far/filelist.cpp b/far/filelist.cpp index ef3bdb3ca0..5b957f7091 100644 --- a/far/filelist.cpp +++ b/far/filelist.cpp @@ -6610,7 +6610,8 @@ void FileList::ReadFileNames(int KeepSelection, int UpdateEvenIfPanelInvisible, DWORD FileSystemFlags = 0; string PathRoot; GetPathRoot(m_CurDir, PathRoot); - os::GetVolumeInformation(PathRoot, nullptr, nullptr, nullptr, &FileSystemFlags, nullptr); + string FileSystemName; + os::GetVolumeInformation(PathRoot, nullptr, nullptr, nullptr, &FileSystemFlags, &FileSystemName); m_ListData.clear(); @@ -6619,9 +6620,19 @@ void FileList::ReadFileNames(int KeepSelection, int UpdateEvenIfPanelInvisible, bool ReadNumStreams = IsColumnDisplayed(NUMSTREAMS_COLUMN); bool ReadStreamsSize = IsColumnDisplayed(STREAMSSIZE_COLUMN); - if (!(FileSystemFlags&FILE_SUPPORTS_HARD_LINKS) && IsWindows7OrGreater()) + if (IsWindows7OrGreater()) { - ReadNumLinks = false; + if (!(FileSystemFlags & FILE_SUPPORTS_HARD_LINKS)) + { + ReadNumLinks = false; + } + } + else + { + if (FileSystemName != L"NTFS") + { + ReadNumLinks = false; + } } if(!(FileSystemFlags&FILE_NAMED_STREAMS)) diff --git a/far/vbuild.m4 b/far/vbuild.m4 index a19d797f39..8edaf97f6a 100644 --- a/far/vbuild.m4 +++ b/far/vbuild.m4 @@ -1 +1 @@ -m4_define(BUILD,4444)m4_dnl +m4_define(BUILD,4445)m4_dnl