Clicking on an item selects it, clicking again on an item does not deselect it. This has been fixed with attached patch.
Then, unselect_all is broken because while looping, iconlist->selection changes. Again, attached patch fixes it.
Finally, the header file of gtkiconlist was kind of broken.
By the way, we are using gtkiconlist in gtkam (http://www.gphoto.net). Thank you for the nice widget!