[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