[Lazarus] SynEdit painting while paintlocked

Martin lazarus at mfriebe.de
Wed Feb 29 14:32:37 CET 2012


On 29/02/2012 07:01, Graeme Geldenhuys wrote:
> Hi,
>
> I got a lazarus update this morning, and rebuilt the IDE via the Tools
> menu. While it was compiling, I was scrolling the editor window. Then
> suddenly the IDE froze up! Luckily I ran the IDE from a console
> window, and saw the following warning message.  In the end I had to
> kill the Lazarus process.
...
>
> Warning: SynEdit.Paint called during PaintLock
>
>

This is a recoverable message (and unfortunately, not helping to trace 
the hang problem). It doesn't even indicate if the issue is in SynEdi or 
not...


Something called "SynEdit.BeginUpdate", and either did not call 
EndUpdate or  did call ProcessMessages.

While in an "Update" SynEdit can not paint (BeginUpdate is to speed up 
things, so it defers all updates, like highlighter scan, until all 
changes are done. This avoids doing the work over and over again)
If SynEdit gets a pain event in Paintlock it just paints the area blank, 
and remembers it. On EndUpdate, it will issue an Invalidate to fix the 
situation.

So it is not clear who called the BeginUpdate.
It is also not clear if this was cause or reaction.




More information about the Lazarus mailing list