[Lazarus] An Install tip for PowerPC macs

ghf03464 at nifty.ne.jp ghf03464 at nifty.ne.jp
Mon Apr 19 12:32:11 CEST 2010


On Sun, 18 Apr 2010 13:00:48 +0200
cobines <cobines at gmail.com> wrote:

> Hello.
> 
> I have a problem with Canvas.SaveHandleState and
> Canvas.RestoreHandleState on GTK2. In my program I use TDrawGrid which
> uses the mentioned Save/Restore functions. I also do a drawing with
> many colors in another control, which causes frequent changes to the
> brush color while painting. After a few redraws I start getting such
> error messages:
> 
> TGtkWidgetSet.DeleteObject GdiObject=B1EC4440 gdiBrush is still used. DCCount=1
> DC: B5D2D390 09967200=LCLWinapiClient [RMVDFStPrApDb]
> LCLObject=B5A76670=:TDrawGridEx<MainWidget=09966B58=LCLWinapiWidget><Is
> FixedWidget><Is CoreWidget>
> 
> And at the end of the program there's message:
> 
> [TGtkWidgetSet.Destroy] WARNING: There are 361 unreleased GDIObjects,
> a detailed dump follows:
> [TGtkWidgetSet.Destroy]   GDIOs: B6696E00 B6696CE0 B66967A0 B6696680
> B6696140 B6696020 B66970A0
> [TGtkWidgetSet.Destroy]   gdiBrush: 361
> 
> 
> I'm using Lazarus SVN trunk, FPC SVN trunk. I experience it with GTK
> 2.18 and GTK 2.20. I can reproduce the problem in small sample, but
> noticed something and wanted to ask first before posting bug report in
> Mantis.

Please create a bug report with a small example.

 
> The function writing the error is in lcl/interfaces/gtk/gtkwinapi.inc
> TGtkWidgetSet.DeleteObject: RaiseGDIObjectIsStillUsed. A comment
> inside there says:
> 
> "
>     // do not raise an exception, because this is a common bug in many programs
>     // just give a warning
> "
> 
> Does anyone know what common bug does this comment refer to?

Calling DeleteObject even though the object is still used in a device
context.


> Is this a
> bug in my program? I have attached the sample that causes these
> errors. Maybe someone can tell me if I'm not supposed to draw this
> way?
> 
> I checked and the bug doesn't happen with LCLQT.


Mattias




More information about the Lazarus mailing list