LCL: image list: write BitmapAdv only if necessary.

git-svn-id: trunk@57262 -
This commit is contained in:
ondrej 2018-02-06 05:55:22 +00:00
parent c4591d203a
commit fc6109b79c

View File

@ -1532,13 +1532,23 @@ procedure TCustomImageList.DefineProperties(Filer: TFiler);
Result := Count > 0;
end;
function NeedsBitmapAdv: Boolean;
var
R: TCustomImageListResolution;
begin
for R in Resolutions do
if not R.AutoCreatedInDesignTime and (R.Width<>Width) then
Exit(True);
Result := False;
end;
var
ADoWrite: Boolean;
begin
inherited DefineProperties(Filer);
ADoWrite := DoWrite;
Filer.DefineBinaryProperty('Bitmap', @ReadData, @WriteData, ADoWrite);
Filer.DefineBinaryProperty('BitmapAdv', @ReadAdvData, @WriteAdvData, ADoWrite);
Filer.DefineBinaryProperty('BitmapAdv', @ReadAdvData, @WriteAdvData, ADoWrite and NeedsBitmapAdv);
end;
{------------------------------------------------------------------------------