@wp
Yes the example code is not clever, here is it's history. Customdrawn has many bugs and like the gtk2 LCLwidgetset in the old days some of them are related to painting. For example, in Linux, if you add a default TEdit on a form, you set the LCLwidgetset to customdrawn and you run the program, the default "Edit1" text will appear only after clicking the TEdit. So I've tried to compare the result of paint messages and I've noticed this similarity between customdrawn and gtk3, both of them being presented by Lazarus as "alpha" stage. The code is not clever but it shows a difference between what's shown in gtk3 and customdrawn vs. gtk2. By the way, if a LCLwidgetset has double buffered drawing, the erase might occur only when invalidate routine is called, right!?
@zeljko
I don't know if it's an issue for gtk3, probably it's not.
Looking at the title of the subject I have doubts is good enough.