PDA

View Full Version : QImage libpng warning no space in chunk cache for tEXt



element90
30th April 2013, 19:28
I've been developing a pair fractal programs for some time, one for exploring fractals and one for expanding fractal seed files. The explorer is called Saturn and saves all the required fractal parameters by embedding them in PNG files, this means that the a image can be reproduced at an time by loading it back into Saturn. The embedded data can also be used by the second program called Titan which produces much bigger pictures up to around 700 Megapixels.

All the version released so far used Gtkmm as the toolkit, for version 4.0.0 I've move to Qt. I've had no problems using metadata in Gtkmm on both Windows and Linux.

Conversion to Qt is almost complete and I'm now adding new features to the programs. I periodically check the builds on OS X and Windows at which point I encountered a serious problem loading a Saturn seed file up until now the test file I'd been using, I'm now using a different seed file and it failed to load properly.

Both OS X and Windows 7 fail to load all the metadata when loading the Saturn seed file into QImage using "PNG" as the format, the following message is displayed:

libpng warning: No space in chunk cache for tEXt

The OS X version carries on and just returns empty strings for data that hasn't been loaded, the Windows version crashes with a Debug Assertion failure with a string subscript out of range. Either way the image in the seed can not be reproduced or expanded.

Is there any way of increasing the the chunk cache size from Qt? I've looked extensively and I haven't found anything to do PNG cache sizes.

Linux: Qt 4.8.3 clang++ 3.0
OS X 10.7.5 Qt 4.8.4 clang++ 3.1
Windows Qt 5.0.1 Visual C++ 2010 i.e. the C++ compiler that comes with Visual Studio Express 2010