From fcf361530d49022c91ce8830f1cc47c45ff9e9ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=BDeljan=20Rikalo?= Date: Sat, 28 Aug 2021 19:26:29 +0200 Subject: [PATCH] Qt,Qt5: fixed changing TMenuItem.ImageIndex inside main menu. issue #37608 --- lcl/interfaces/qt/qtwsmenus.pp | 9 +++------ lcl/interfaces/qt5/qtwsmenus.pp | 9 +++------ 2 files changed, 6 insertions(+), 12 deletions(-) diff --git a/lcl/interfaces/qt/qtwsmenus.pp b/lcl/interfaces/qt/qtwsmenus.pp index 15f69ee734..b26dff1599 100644 --- a/lcl/interfaces/qt/qtwsmenus.pp +++ b/lcl/interfaces/qt/qtwsmenus.pp @@ -398,13 +398,10 @@ end; class procedure TQtWSMenuItem.UpdateMenuIcon(const AMenuItem: TMenuItem; const HasIcon: Boolean; const AIcon: TBitmap); begin + if not WSCheckMenuItem(AMenuItem, 'UpdateMenuIcon') then + Exit; if AMenuItem.HasParent then - begin - if HasIcon then - TQtMenu(AMenuItem.Handle).setImage(TQtImage(AIcon.Handle)) - else - TQtMenu(AMenuItem.Handle).setImage(nil); - end; + AMenuItem.RecreateHandle; end; { TQtWSMenu } diff --git a/lcl/interfaces/qt5/qtwsmenus.pp b/lcl/interfaces/qt5/qtwsmenus.pp index 8756c381bc..660fc56183 100644 --- a/lcl/interfaces/qt5/qtwsmenus.pp +++ b/lcl/interfaces/qt5/qtwsmenus.pp @@ -397,13 +397,10 @@ end; class procedure TQtWSMenuItem.UpdateMenuIcon(const AMenuItem: TMenuItem; const HasIcon: Boolean; const AIcon: TBitmap); begin + if not WSCheckMenuItem(AMenuItem, 'UpdateMenuIcon') then + Exit; if AMenuItem.HasParent then - begin - if HasIcon then - TQtMenu(AMenuItem.Handle).setImage(TQtImage(AIcon.Handle)) - else - TQtMenu(AMenuItem.Handle).setImage(nil); - end; + AMenuItem.RecreateHandle; end; { TQtWSMenu }