lcl: TCustomForm needs Application.RemoveAsyncCalls, issues #30281 and #8576

git-svn-id: trunk@52764 -
This commit is contained in:
ondrej 2016-08-01 16:43:28 +00:00
parent 79f1b32221
commit 764c1f97e4

View File

@ -196,6 +196,7 @@ begin
if not (csDestroying in ComponentState) then if not (csDestroying in ComponentState) then
GlobalNameSpace.BeginWrite; GlobalNameSpace.BeginWrite;
try try
Application.RemoveAsyncCalls(Self); // because of Application.QueueAsyncCall(@Moved, 0); in WMMove
DisableAutoSizing{$IFDEF DebugDisableAutoSizing}('TCustomForm.Destroy'){$ENDIF}; DisableAutoSizing{$IFDEF DebugDisableAutoSizing}('TCustomForm.Destroy'){$ENDIF};
FreeThenNil(FIcon); FreeThenNil(FIcon);
FreeIconHandles; FreeIconHandles;
@ -725,7 +726,7 @@ end;
procedure TCustomForm.WMMove(var Message: TLMMove); procedure TCustomForm.WMMove(var Message: TLMMove);
begin begin
inherited WMMove(Message); inherited WMMove(Message);
Application.QueueAsyncCall(@Moved, 0) Application.QueueAsyncCall(@Moved, 0);
end; end;
procedure TCustomForm.Moved(Data: PtrInt); procedure TCustomForm.Moved(Data: PtrInt);