InvalidateRect ??? lazarus / 12-Debugger ---------------------------------------------------------------------- userx-bw · 2014-01-22 23:18 I have a GroupBox with an TImage inside of it to show a picture from a file using OpenPictureDialog what does this mean and how do I fix it? QuoteWARNING: TGtk2WidgetSet.InvalidateRect refused invalidating during paint message: TGroupBox Linux Lazarus 1.0.14 FPC 2.6.2 ---------------------------------------------------------------------- Martin_fr · 2014-01-23 02:57 Do you have any OnPaint event? If so does it contain any call to Invalidate...? If not: - Can you test with 1.2RC2 ? Though there is another issue with Groupbox in 1.2 that it does not fully repaint. Can you produce a minimum unit, that reproduces it? -------------------- Normally the following rules exist (enforced by many OS) - paint only in OnPaint - Invalidate only outside of OnPaint (since OnPaint does actually validate the last invalidated area. Something is breaking the 2nd rule. And yes, those rules are not always enforced. The LCL tries to workaround them, if you try to paint outside of OnPaint.... but here apparently it can not. ---------------------------------------------------------------------- zeljko · 2014-01-23 09:22 I've inserted that warning there since invalidating inside paint event does not have any sense.Warning just shows that something is wrong in user code or in lcl code (by lcl I mean gtk2lcl which puts paint events in internal queue and then process it in TGtk2WidgetSet.ProcessMessages), and of course it refuses to send new Invalidate to already painted region. Painting outside of paint event is allowed under gtk2 and this warning have nothing to do with it. ---------------------------------------------------------------------- userx-bw · 2014-01-29 15:46 Quote from: zeljko on January 23, 2014, 10:22:01 amI've inserted that warning there since invalidating inside paint event does not have any sense.Warning just shows that something is wrong in user code or in lcl code (by lcl I mean gtk2lcl which puts paint events in internal queue and then process it in TGtk2WidgetSet.ProcessMessages), and of course it refuses to send new Invalidate to already painted region. Painting outside of paint event is allowed under gtk2 and this warning have nothing to do with it. thanks, it had to do with the transparent setting I had set it set to true in the properties I changed it back to false and it fixed it. it is inside a group box.