lcl: forcing menus icon bitmap refresh on Imagelist change. #35658

git-svn-id: trunk@61307 -
This commit is contained in:
dmitry 2019-06-01 05:57:36 +00:00
parent 2ab93def5e
commit 75accac5aa
2 changed files with 6 additions and 6 deletions

View File

@ -50,7 +50,7 @@ begin
FImages.FreeNotification(Self);
FImages.RegisterChanges(FImageChangeLink);
end;
FItems.UpdateImages;
FItems.UpdateImages(true);
end;
procedure TMenu.SetImagesWidth(const aImagesWidth: Integer);

View File

@ -1458,7 +1458,7 @@ begin
end;
end;
procedure TMenuItem.UpdateImage;
procedure TMenuItem.UpdateImage(forced: Boolean);
var
ImgList: TCustomImageList;
begin
@ -1475,7 +1475,7 @@ begin
end
else
begin
if (ImgList = nil) or (ImageIndex = -1) then
if (forced) or (ImgList = nil) or (ImageIndex = -1) then
begin
FreeAndNil(FBitmap);
FBitmapIsValid := True;
@ -1485,15 +1485,15 @@ begin
end;
end;
procedure TMenuItem.UpdateImages;
procedure TMenuItem.UpdateImages(forced: Boolean);
var
i: integer;
begin
if HandleAllocated and ([csLoading,csDestroying]*ComponentState=[]) then
begin
UpdateImage;
UpdateImage(forced);
for i := 0 to Count - 1 do
Items[i].UpdateImages;
Items[i].UpdateImages(forced);
end;
end;