DialogRes: destroy DialogGlyphs with interface finalization. solves issue #40015

This commit is contained in:
Ondrej Pokorny 2022-11-23 09:34:53 +01:00
parent 74dfcb9fd5
commit 4d8f933b50

View File

@ -5,7 +5,7 @@ unit DialogRes;
interface interface
uses uses
LCLType, Graphics, Themes, Controls, ImgList, InterfaceBase, LCLIntf, SysUtils, Classes; LCLType, Graphics, Themes, Controls, ImgList, InterfaceBase, LCLIntf, LCLProc, SysUtils, Classes;
type type
TDialogImage = idDialogWarning..idDialogShield; TDialogImage = idDialogWarning..idDialogShield;
@ -107,8 +107,13 @@ begin
fDialogIndexes[AIndex] := GetImageIndex(DialogResName[AIndex]); fDialogIndexes[AIndex] := GetImageIndex(DialogResName[AIndex]);
end; end;
finalization procedure InterfaceFinal;
begin
FreeAndNil(DialogImages); FreeAndNil(DialogImages);
end;
initialization
RegisterInterfaceFinalizationHandler(@InterfaceFinal);
end. end.