Browse Source

IniFiles: fix OwnsEncoding default values

git-svn-id: trunk@43937 -
ondrej 5 years ago
parent
commit
6385d582bb
1 changed files with 4 additions and 2 deletions
  1. 4 2
      packages/fcl-base/src/inifiles.pp

+ 4 - 2
packages/fcl-base/src/inifiles.pp

@@ -613,7 +613,8 @@ constructor TCustomIniFile.Create(const AFileName: string;
   AOptions: TIniFileOptions);
   AOptions: TIniFileOptions);
 begin
 begin
   FEncoding := ADefaultEncoding;
   FEncoding := ADefaultEncoding;
-  FOwnsEncoding := AOwnsEncoding;
+  if FEncoding <> nil then
+    FOwnsEncoding := AOwnsEncoding and not TEncoding.IsStandardEncoding(FEncoding);
   Create(AFileName, AOptions);
   Create(AFileName, AOptions);
 end;
 end;
 
 
@@ -953,7 +954,8 @@ constructor TIniFile.Create(AStream: TStream; ADefaultEncoding: TEncoding;
   AOwnsEncoding: Boolean; AOptions: TIniFileOptions);
   AOwnsEncoding: Boolean; AOptions: TIniFileOptions);
 begin
 begin
   FEncoding := ADefaultEncoding;
   FEncoding := ADefaultEncoding;
-  FOwnsEncoding := not TEncoding.IsStandardEncoding(FEncoding);
+  if FEncoding <> nil then
+    FOwnsEncoding := AOwnsEncoding and not TEncoding.IsStandardEncoding(FEncoding);
   Create(AStream, AOptions);
   Create(AStream, AOptions);
 end;
 end;