There are a number of png files in TDE that generate
errors on
opening due to
outdated png header information. I would like to identify which
icons these are.
For example when opening khelpcenter I receive the following
messages:
03:03 valhalla:~> khelpcenter help:/khelpcenter/releasenotes
khelpcenter: WARNING: Main template file name is empty.
libpng warning: iCCP: known incorrect sRGB profile
libpng error: IDAT: invalid distance too far back
libpng error: IDAT: invalid distance too far back
libpng error: IDAT: invalid distance too far back
libpng warning: Interlace handling should be turned on when using
png_read_image
libpng error: IDAT: invalid distance too far back
libpng error: IDAT: invalid distance too far back
libpng error: IDAT: invalid distance too far back
libpng warning: Interlace handling should be turned on when using
png_read_image
Apparently, the problem is out-of-date png header information.
Searching I
stumbled across a minimal bit of source that is supposed to fix
the issue, but
only if compiled on older versions of libpng. Looking at the code,
the crux of
it is to rewrite the first 8 bytes of the png header. I've
attached it for
experimentation. It builds well on all of the boxes I have, but I
suspect you
have to force it to build against libpng 1.2 in order for it to do
what it is
supposed to. I'll continue to experiment. If you have few spare
minutes give it
a try and let me know if you can see any discernible difference in
the new/old
png files. I haven't yet.
This is a bug report against newer versions of libpng. I don't seen
any such errors with libpng 1.4.12.
I suspect a rite of initiation to become a libpng developer is to
introduce new code that breaks something for everybody downstream.
Cousins to the BOFH.
Darrell