From 2bd7eaf3784628c7ea0d2dfecb893d906a5c25a8 Mon Sep 17 00:00:00 2001 From: mattias Date: Sun, 1 Jun 2014 21:27:51 +0000 Subject: [PATCH] nogui: call CheckSynchronize in AppProcessMessages git-svn-id: trunk@45293 - --- lcl/interfaces/nogui/noguiint.pp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/lcl/interfaces/nogui/noguiint.pp b/lcl/interfaces/nogui/noguiint.pp index 9d5c24b6fc..905de15ae0 100644 --- a/lcl/interfaces/nogui/noguiint.pp +++ b/lcl/interfaces/nogui/noguiint.pp @@ -36,6 +36,7 @@ type { TNoGUIWidgetSet } TNoGUIWidgetSet = class(TWidgetSet) + procedure NoGUIWidgetSetWakeMainThread(Sender: TObject); protected public procedure PassCmdLineOptions; override; @@ -69,6 +70,13 @@ implementation { TNoGUIWidgetSet } +procedure TNoGUIWidgetSet.NoGUIWidgetSetWakeMainThread(Sender: TObject); +// Called by thread to wake up the main thread +begin + // Nothing to be done. The application must call + // Application.ProcessMessages or CheckSynchronize regularly +end; + procedure TNoGUIWidgetSet.PassCmdLineOptions; begin inherited PassCmdLineOptions; @@ -86,7 +94,8 @@ end; procedure TNoGUIWidgetSet.AppProcessMessages; begin - + if IsMultiThread then + CheckSynchronize; end; procedure TNoGUIWidgetSet.AppWaitMessage; @@ -128,6 +137,7 @@ end; constructor TNoGUIWidgetSet.Create; begin inherited Create; + WakeMainThread:=@NoGUIWidgetSetWakeMainThread; end; destructor TNoGUIWidgetSet.Destroy;