Some icons do not display in Keepass 2.30 on Fedora
A lightweight and easy-to-use password manager
Brought to you by:
dreichl
I get the following messages on the terminal when starting Keepass 2.30
under Mono on Fedora 21 and 23:
libpng error: invalid after png_start_read_image or png_read_update_info
libpng error: invalid after png_start_read_image or png_read_update_info
libpng error: invalid after png_start_read_image or png_read_update_info
libpng error: invalid after png_start_read_image or png_read_update_info
The following images do not display:
These images are in some way different to the other images:
C62_Tux.png: PNG image data, 16 x 16, 8-bit/color RGBA, non-interlaced
C63_Feather.png: PNG image data, 16 x 16, 8-bit/color RGB, non-interlaced
C64_Apple.png: PNG image data, 16 x 16, 8-bit/color RGB, non-interlaced
C65_W.png: PNG image data, 16 x 16, 8-bit/color RGBA, non-interlaced
C66_Money.png: PNG image data, 16 x 16, 8-bit/color RGB, non-interlaced
C67_Certificate.png: PNG image data, 16 x 16, 8-bit/color RGB, non-interlaced
This sounds a lot like https://sourceforge.net/p/keepass/bugs/1168/, but
the workaround there of running pngcrush on the images doesn't help.
Am I right in thinking the images in directory
Ext/Images_Client_16aren't used for anything, and instead the images are packed together into fileKeePass/Resources/Data/Images_Client_16.bin? How is this.binfile built?Is this an issue when you run KeePass.exe or when you build KeePass?
What version of mono?
cheers, Paul
Thanks for reporting this issue. In order to workaround this Cairo/LibPNG bug, I've now added alpha channels to these images.
Here's the latest development snapshot for testing:
http://keepass.info/filepool/KeePass_151117.zip
Best regards,
Dominik
Thanks. In the meantime, how can I make this change myself for KeePass 2.30?
I used GIMP for adding an alpha channel.
A new BIN file can be compiled using KeePass.exe. Here's the new one:
http://keepass.info/filepool/Images_Client_16.bin
Best regards,
Dominik
Could you explain how I could make a new BIN file for myself? If I wanted to change some of the icons, for example?
I'm the packager of KeePass for Fedora, and it's a requirement of the Fedora project that packages can be build from source.
In order to build a BIN file, run KeePass.exe with the command line parameter --makexspfile, the target BIN file path as parameter (without prefix) and with a parameter "-d:<path>" where <path> points to the folder containing the image files (e.g. the one named "Images_Client_16").</path></path>
Best regards,
Dominik