/* Returns: TRUE if @icon1 is equal to @icon2. FALSE otherwise.  */
gboolean g_icon_equal(GIcon *icon1, GIcon *icon2)
/* Returns: TRUE if @icon1 is equal to @icon2. FALSE otherwise.  */
gboolean g_icon_equal(GIcon *icon1, GIcon *icon2)
{
  GIconIface *iface;
  if (icon1 == NULL && icon2 == NULL)
    return TRUE;
  if (icon1 == NULL || icon2 == NULL)
    return FALSE;
  if (G_TYPE_FROM_INSTANCE (icon1) != G_TYPE_FROM_INSTANCE (icon2))
    return FALSE;
  iface = G_ICON_GET_IFACE (icon1);
  return (* iface->equal) (icon1, icon2);
}