Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/elfmz/far2l.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorelfmz <fenix1905@tut.by>2022-06-01 01:33:59 +0300
committerelfmz <fenix1905@tut.by>2022-06-01 01:33:59 +0300
commitf788d3716035a4aca2d6857bbe21f5050e6eacf1 (patch)
tree6da7b0570978b3094abd0627374b707448066c88 /far2l/src/fileedit.cpp
parent89a02cb60bd3f2860881483d0607f45bd20a054f (diff)
editor: fix caching chosen codepage for newly created files
Diffstat (limited to 'far2l/src/fileedit.cpp')
-rw-r--r--far2l/src/fileedit.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/far2l/src/fileedit.cpp b/far2l/src/fileedit.cpp
index 11bd83cf..13a40bda 100644
--- a/far2l/src/fileedit.cpp
+++ b/far2l/src/fileedit.cpp
@@ -1405,12 +1405,15 @@ int FileEditor::LoadFile(const wchar_t *Name,int &UserBreak)
!EditFile.Open(Name, GENERIC_READ, FILE_SHARE_READ|(Opt.EdOpt.EditOpenedForWrite?FILE_SHARE_WRITE:0), nullptr, OPEN_EXISTING, FILE_FLAG_SEQUENTIAL_SCAN))
{
SysErrorCode=WINPORT(GetLastError)();
-
if ((SysErrorCode != ERROR_FILE_NOT_FOUND) && (SysErrorCode != ERROR_PATH_NOT_FOUND))
{
UserBreak = -1;
Flags.Set(FFILEEDIT_OPENFAILED);
}
+ else if (m_codepage != CP_AUTODETECT && Flags.Check(FFILEEDIT_NEW))
+ {
+ Flags.Set(FFILEEDIT_CODEPAGECHANGEDBYUSER);
+ }
return FALSE;
}
@@ -1482,7 +1485,6 @@ int FileEditor::LoadFile(const wchar_t *Name,int &UserBreak)
int StrLength,GetCode;
UINT dwCP=0;
bool Detect=false;
-
if (m_codepage == CP_AUTODETECT || IsUnicodeOrUtfCodePage(m_codepage))
{
bool bSignatureDetected = false;