On 10/02/16 20:13, Giuliano Colla wrote:
Il 10/02/2016 13:48, zeljko ha scritto:
I believe
that Application.ProcessMessages should protect itself too, avoiding to
handle more than once the same message.

But where ? In LCL or per widgetset ?

I skimmed through the backtrace. It would appear that the recursion
originates in g_main_context_iteration() which calls
g_main_context_dispatch(), which will continue to dispatch the same
message. I don't believe that there's an easy way to protect
Application.ProcessMessages from recursion unless someone is willing to
debug and patch Glib (which is used not only by Qt, but also from GTK,
if I'm not wrong). Personally I  give up.

Giuliano


My understanding is Application.ProcessMessages has to be reentrant for the clipboard to work, at least under X, as clipboard content is retrieved by receiving messages. See http://bugs.freepascal.org/view.php?id=26242 for a (fixed) bug that showed this up. The sequence is something along the lines of (for example) ProcessMessages -> Handle paste button -> clipboard -> ProcessMessages.

Colin


--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to