From d4eeeafe50f726c3eaed26042bc12d2ebd5878b8 Mon Sep 17 00:00:00 2001 From: mattias Date: Wed, 12 Aug 2009 11:38:37 +0000 Subject: [PATCH] LCL: added flag EnableAsyncDeactivate for possible workaround for too early/many deactivate events git-svn-id: trunk@21188 - --- lcl/forms.pp | 2 +- lcl/include/customform.inc | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/lcl/forms.pp b/lcl/forms.pp index 7ec9fafa23..e757227fbb 100644 --- a/lcl/forms.pp +++ b/lcl/forms.pp @@ -1174,7 +1174,7 @@ type const Handler: TMethod); procedure RunLoop; procedure Activate; - procedure Deactivate(Data: PtrInt); + procedure Deactivate(Data: PtrInt = 0); protected function GetConsoleApplication: boolean; override; procedure NotifyIdleHandler(var Done: Boolean); diff --git a/lcl/include/customform.inc b/lcl/include/customform.inc index 16e01a2355..ae8c3b1e84 100644 --- a/lcl/include/customform.inc +++ b/lcl/include/customform.inc @@ -463,9 +463,14 @@ end; procedure TCustomForm.WMDeactivate(var Message : TLMActivate); begin FActive:=false; + {$IFDEF EnableAsyncDeactivate} Deactivate; if Application<>nil then Application.QueueAsyncCall(@Application.Deactivate,0); + {$ELSE} + if Application<>nil then Application.Deactivate; + Deactivate; + {$ENDIF} end; procedure TCustomForm.CMShowingChanged(var Message: TLMessage);