[Lazarus] High-DPI TImageList

Ondrej Pokorny lazarus at kluug.net
Mon Jan 29 09:45:24 CET 2018


On 28.01.2018 15:33, C Western via Lazarus wrote:
> On 27/01/18 18:59, Ondrej Pokorny via Lazarus wrote:
>> I merged the High-DPI (multi-resolution) ImageList into trunk. I'll 
>> document the changes in http://wiki.lazarus.freepascal.org/TImageList 
>> soon (tomorrow) and also in 
>> http://wiki.freepascal.org/Lazarus_1.10.0_release_notes
>>
>> Ondrej
>
> With trunk my application now gives lots of tracebacks when using the 
> main menu, which has some images set, though not using an imagelist:
>
> ERROR in LCL: TGtk2WidgetSet.CreateBitmapFromRawImage Incompatible 
> BitsPerPixel
> Creating gdb catchable error:
>
>   $000000000088BA69  DEBUGLNSTACK,  line 731 of lazloggerbase.pas
>   $00000000007788E0  DUMPSTACK,  line 1392 of lclproc.pas
>   $0000000000776043  RAISEGDBEXCEPTION,  line 860 of lclproc.pas
>   $00000000006EB170  RAWIMAGE_CREATEBITMAPS,  line 417 of 
> gtk2/gtk2lclintf.inc
>   $0000000000787202  RAWIMAGE_CREATEBITMAPS,  line 152 of 
> include/lclintf.inc
>   $00000000008F0FF0  CREATEBITMAPS,  line 3633 of intfgraphics.pas
>   $000000000095B362  INSERTMASKED,  line 1802 of include/imglist.inc
>   $0000000000958DC1  ADDMASKED,  line 1143 of include/imglist.inc
>   $000000000086717C  DRAWMENUITEMICON,  line 5809 of gtk2
>
> This is using GTK2. Has the implementation of the main menu changed 
> significantly? Unfortunately this is slightly tricky to debug, as the 
> entire desktop freezes.

Do you use Glyphs in the menu? Anyway, please create a bug report and if 
possible, attach a sample project to reproduce. Thanks.

The implementation of main menu didn't change significantly, but the 
image list did change (the menu uses image list internally to store the 
menu item glyphs). It looks like Gtk2 doesn't like the new AddMasked method.

Ondrej


More information about the Lazarus mailing list