mirror of
https://github.com/doublecmd/doublecmd.git
synced 2026-06-21 09:58:13 +00:00
FIX: Crash if can not open ini for writing
This commit is contained in:
parent
20a34d73d9
commit
d686edc554
1 changed files with 18 additions and 5 deletions
|
|
@ -723,10 +723,23 @@ begin
|
|||
// Check global directory for INI config.
|
||||
if not Assigned(gIni) and mbFileAccess(gpGlobalCfgDir + 'doublecmd.ini', fmOpenRead) then
|
||||
begin
|
||||
gIni := TIniFileEx.Create(gpGlobalCfgDir + 'doublecmd.ini');
|
||||
gIni := TIniFileEx.Create(gpGlobalCfgDir + 'doublecmd.ini', fmOpenRead);
|
||||
gUseConfigInProgramDir := gIni.ReadBool('Configuration', 'UseIniInProgramDir', False);
|
||||
if not gUseConfigInProgramDir then
|
||||
FreeAndNil(gIni);
|
||||
FreeAndNil(gIni)
|
||||
else
|
||||
begin
|
||||
if mbFileAccess(gpGlobalCfgDir + 'doublecmd.ini', fmOpenWrite) then
|
||||
begin
|
||||
FreeAndNil(gIni);
|
||||
gIni := TIniFileEx.Create(gpGlobalCfgDir + 'doublecmd.ini');
|
||||
end
|
||||
else
|
||||
begin
|
||||
DebugLn('Warning: Config file ' + gpGlobalCfgDir + 'doublecmd.ini' +
|
||||
' is not accessible for writing. Configuration will not be saved.');
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
// Check user directory for INI config.
|
||||
|
|
@ -849,7 +862,7 @@ end;
|
|||
procedure SaveGlobs;
|
||||
var
|
||||
TmpConfig: TXmlConfig;
|
||||
Ini: TIniFileEx;
|
||||
Ini: TIniFileEx = nil;
|
||||
begin
|
||||
if gUseConfigInProgramDirNew <> gUseConfigInProgramDir then
|
||||
begin
|
||||
|
|
@ -863,11 +876,11 @@ begin
|
|||
begin
|
||||
// Still using INI config.
|
||||
FreeThenNil(gIni);
|
||||
Ini:= TIniFileEx.Create(gpGlobalCfgDir + 'doublecmd.ini');
|
||||
try
|
||||
Ini:= TIniFileEx.Create(gpGlobalCfgDir + 'doublecmd.ini');
|
||||
Ini.WriteBool('Configuration', 'UseIniInProgramDir', gUseConfigInProgramDirNew);
|
||||
finally
|
||||
Ini.Free;
|
||||
FreeThenNil(Ini);
|
||||
end;
|
||||
gIni := TIniFileEx.Create(gpCfgDir + 'doublecmd.ini');
|
||||
end;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue