In an email, Jonathan pointed out that simply
gtk_icon_theme_load_icon() by itself is not optimal either. If
the user changes their icon theme, you should reload the icon in case it
has changed in the new theme.
This is quite easy to handle correctly though, using the
GtkIconTheme *icon_theme = gtk_icon_theme_get_default (); g_signal_connect (icon_theme, "changed", G_CALLBACK (callback), NULL);
callback() will be called when the icon theme changes, at which
point you can reload the icon.
What would be nice would be a
GtkImage constructor that let you pass
in an icon name plus desired size, and handled theme changes for you.
Maybe I'll do a patch for this ...