diff --git a/src/gui/dialogs/formmain.cpp b/src/gui/dialogs/formmain.cpp index d856525d0..238527d88 100755 --- a/src/gui/dialogs/formmain.cpp +++ b/src/gui/dialogs/formmain.cpp @@ -283,6 +283,9 @@ void FormMain::setupIcons() { // Setup icons on TabWidget too. m_ui->m_tabWidget->setupIcons(); + + // Most of icons are loaded, clear the cache. + qApp->icons()->clearCache(); } void FormMain::loadSize() { diff --git a/src/miscellaneous/iconfactory.cpp b/src/miscellaneous/iconfactory.cpp index f0b1710b8..5bcf2ac8f 100755 --- a/src/miscellaneous/iconfactory.cpp +++ b/src/miscellaneous/iconfactory.cpp @@ -57,6 +57,10 @@ QByteArray IconFactory::toByteArray(const QIcon &icon) { return array.toBase64(); } +void IconFactory::clearCache() { + m_cachedIcons.clear(); +} + void IconFactory::setupSearchPaths() { QIcon::setThemeSearchPaths(QStringList() << APP_THEME_PATH); qDebug("Available icon theme paths: %s.", diff --git a/src/miscellaneous/iconfactory.h b/src/miscellaneous/iconfactory.h index 945410010..c550c977e 100755 --- a/src/miscellaneous/iconfactory.h +++ b/src/miscellaneous/iconfactory.h @@ -44,6 +44,8 @@ class IconFactory : public QObject { QIcon fromByteArray(QByteArray array); QByteArray toByteArray(const QIcon &icon); + void clearCache(); + // Returns icon from active theme or invalid icon if // "no icon theme" is set. inline QIcon fromTheme(const QString &name) {