icontheme: Avoid creating useless IconThemeDirs
We were allocating IconThemeDir instances and then only later assign a value to has_icons. In the !has_icons case, we were directly throwing the IconThemeDir away again. Delay allocating the IconThemeDirs until we know that it has icons. This avoids allocating and then de-allocating around 1400 IconThemeDir instances when opening the widget-factory.
Showing with 42 additions and 23 deletions