On Wed, 26 Oct 2016, LacaK via Lazarus wrote:




Check for Application.ProcessMessages and CheckSynchronize calls. These process synchronize queue, if I am not mistaken.

I do not call CheckSynchronize nor ProcessMessages in my application.
So only any LCL component or widget set can call it in background ?

ShowModal() for a modal form will call it.

Ah really?
It happens in my application!

Then that is  your problem.

But is it correct behavior ? IMO it is against thread safety, which should Synchronize guarantee!

The two issues are completely unrelated. The current behaviour is correct.

Nowhere is it stated or guaranteed that synchronisation cannot happen in a GUI 
event
handler. Any code at any time can call the GUI message loop. A modal form is
just one instance. Your code must be able to deal with this.

Michael.
--
_______________________________________________
Lazarus mailing list
Lazarus@lists.lazarus-ide.org
http://lists.lazarus-ide.org/listinfo/lazarus

Reply via email to