diff --git a/lcl/forms.pp b/lcl/forms.pp index f06a4af14a..b61901773c 100644 --- a/lcl/forms.pp +++ b/lcl/forms.pp @@ -1268,6 +1268,7 @@ type procedure IntfAppMinimize; procedure IntfAppRestore; procedure IntfDropFiles(const FileNames: Array of String); + procedure IntfThemeOptionChange(AThemeServices: TThemeServices; AOption: TThemeOption); public procedure DoArrowKey(AControl: TWinControl; var Key: Word; Shift: TShiftState); diff --git a/lcl/include/application.inc b/lcl/include/application.inc index 367cb80101..06a8d54ad0 100644 --- a/lcl/include/application.inc +++ b/lcl/include/application.inc @@ -1752,6 +1752,19 @@ begin TDropFilesEvent(FApplicationHandlers[ahtDropFiles][i])(Self,Filenames); end; +procedure TApplication.IntfThemeOptionChange(AThemeServices: TThemeServices; + AOption: TThemeOption); +begin + case AOption of + toShowButtonImages: + if ShowButtonGlyphs = sbgSystem then + NotifyCustomForms(CM_APPSHOWBTNGLYPHCHANGED); + toShowMenuImages: + if ShowMenuGlyphs = sbgSystem then + NotifyCustomForms(CM_APPSHOWMENUGLYPHCHANGED); + end; +end; + procedure TApplication.DoArrowKey(AControl: TWinControl; var Key: Word; Shift: TShiftState); begin diff --git a/lcl/interfaces/gtk2/gtk2themes.pas b/lcl/interfaces/gtk2/gtk2themes.pas index 7fe2fd2813..d4c5bc24d6 100644 --- a/lcl/interfaces/gtk2/gtk2themes.pas +++ b/lcl/interfaces/gtk2/gtk2themes.pas @@ -213,9 +213,10 @@ begin Result := True; end; -procedure MenuImagesChange(ASettings: PGtkSettings; Services: TGtk2ThemeServices); cdecl; +procedure MenuImagesChange(ASettings: PGtkSettings; pspec: PGParamSpec; Services: TGtk2ThemeServices); cdecl; begin - //Services.IntfDoOnThemeChange; + Application.IntfThemeOptionChange(Services, toShowMenuImages); + Services.IntfDoOnThemeChange; end; function TGtk2ThemeServices.GetOption(AOption: TThemeOption): Integer;