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