I have a set of objects that I am serialising to a file via save/load. The objects contain Icons.
What I noticed was the transparency of the Icons changed after the objects were restored from the file.
After some investigation I think I know what is going on. FXGIFIcon loads into an RGBA format and the original color table is not preserved, so must be reconstructed during save. It appears this is a 2 step process first determine unique colors, then determine which is transparent.
The Icons I had chosen to test with, bigdoc.gif and minidoc.gif, contain 2 entries for white in their color tables, one for the transparent background, the other for the body of the document. So in this case I think the color table gets reconstructed with one white entry that is flagged as transparent. The result is that the body and background are transparent and only the border is displayed.
If I use an Icon with a unique color for transparent, all works fine.
Since this is probably an unusual case I doubt it is a high priority to fix.
Editing the Icons to avoid the problem might be a good idea. Note that minapp.gif is a similar case. I have not done an exhaustive search for other cases though.
I have a question also. While looking through the standard Icons I noticed that some do not have transparency set (as far as my image editor can tell) however they do get rendered with transparency and I could not see how this would be happening in the code. An example is dirupicon.gif.