diff --git a/lcl/buttonpanel.pas b/lcl/buttonpanel.pas index bedc1dd4e0..663ed23261 100644 --- a/lcl/buttonpanel.pas +++ b/lcl/buttonpanel.pas @@ -32,6 +32,9 @@ const DefShowGlyphs = [pbOK, pbCancel, pbClose, pbHelp]; type + + { TPanelBitBtn } + TPanelBitBtn = class(TCustomBitBtn) public constructor Create(AOwner: TComponent); override; diff --git a/lcl/include/customform.inc b/lcl/include/customform.inc index 964dc4d793..52f86f12b0 100644 --- a/lcl/include/customform.inc +++ b/lcl/include/customform.inc @@ -217,14 +217,20 @@ var begin if NewControl <> FDefaultControl then begin - OldDefaultControl:=FDefaultControl; + OldDefaultControl := FDefaultControl; FDefaultControl := NewControl; // notify old control - if OldDefaultControl<>nil then + if OldDefaultControl <> nil then + begin + OldDefaultControl.RemoveFreeNotification(Self); OldDefaultControl.UpdateRolesForForm; + end; // notify new control - if FDefaultControl<>nil then + if FDefaultControl <> nil then + begin + FDefaultControl.FreeNotification(Self); FDefaultControl.UpdateRolesForForm; + end; // maybe active default control changed if FActiveDefaultControl = nil then begin