Menu ▾ ▴

#1443 Some icons do not display in Keepass 2.30 on Fedora

KeePass_2.x
closed
nobody
None
5
2015-11-18
2015-10-31
No

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:

  • Ext/Images_Client_16/C63_Feather.png
  • Ext/Images_Client_16/C64_Apple.png
  • Ext/Images_Client_16/C66_Money.png
  • Ext/Images_Client_16/C67_Certificate.png

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.

Discussion

  • Peter Oliver

    Peter Oliver - 2015-11-15

    Am I right in thinking the images in directory Ext/Images_Client_16 aren't used for anything, and instead the images are packed together into file KeePass/Resources/Data/Images_Client_16.bin? How is this .bin file built?

     
  • Paul

    Paul - 2015-11-16

    Is this an issue when you run KeePass.exe or when you build KeePass?
    What version of mono?

    cheers, Paul

     
  • Dominik Reichl

    Dominik Reichl - 2015-11-17
    • status: open --> closed
     
  • Dominik Reichl

    Dominik Reichl - 2015-11-17

    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

     
  • Peter Oliver

    Peter Oliver - 2015-11-17

    Thanks. In the meantime, how can I make this change myself for KeePass 2.30?

     
  • Dominik Reichl

    Dominik Reichl - 2015-11-17

    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

     
  • Peter Oliver

    Peter Oliver - 2015-11-18

    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.

     
  • Dominik Reichl

    Dominik Reichl - 2015-11-18

    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

     

Log in to post a comment.