aacid added a comment.
Wouldn't it make more sense to fix in Qt? Something like diff --git a/src/gui/image/qicon.cpp b/src/gui/image/qicon.cpp index 41fe649fc5..f86ad3c760 100644 --- a/src/gui/image/qicon.cpp +++ b/src/gui/image/qicon.cpp @@ -1260,7 +1260,7 @@ QString QIcon::fallbackThemeName() */ void QIcon::setFallbackThemeName(const QString &name) { - QIconLoader::instance()->setFallbackThemeName(name); + QIconLoader::instance(NoInializeNeeded)->setFallbackThemeName(name); } /*! diff --git a/src/gui/image/qiconloader.cpp b/src/gui/image/qiconloader.cpp index 15ab1b3cd9..96dfd9163d 100644 --- a/src/gui/image/qiconloader.cpp +++ b/src/gui/image/qiconloader.cpp @@ -125,10 +125,12 @@ void QIconLoader::ensureInitialized() } } -QIconLoader *QIconLoader::instance() +QIconLoader *QIconLoader::instance(InstanceOptions o) { - iconLoaderInstance()->ensureInitialized(); - return iconLoaderInstance(); + if (o == EnsureInitialized) { + iconLoaderInstance()->ensureInitialized(); + } + return iconLoaderInstance(); } // Queries the system theme and invalidates existing diff --git a/src/gui/image/qiconloader_p.h b/src/gui/image/qiconloader_p.h index fac18b5d79..a69da4a5f7 100644 --- a/src/gui/image/qiconloader_p.h +++ b/src/gui/image/qiconloader_p.h @@ -185,7 +185,11 @@ public: void setFallbackSearchPaths(const QStringList &searchPaths); QStringList fallbackSearchPaths() const; QIconDirInfo dirInfo(int dirindex); - static QIconLoader *instance(); + enum InstanceOptions { + NoInializeNeeded = 0, + EnsureInitialized = 1 + } + static QIconLoader *instance(InstanceOptions o = EnsureInitialized); void updateSystemTheme(); void invalidateKey() { m_themeKey++; } void ensureInitialized(); I think this should be relatively easy to push though in Qt explaining that small ordering issue there is Not sure it compiles, for some reason i can't compile Qt 5.15 branch right now REPOSITORY R302 KIconThemes REVISION DETAIL https://phabricator.kde.org/D22488 To: mart, #frameworks, #plasma Cc: aacid, mlaurent, broulik, kde-frameworks-devel, LeGast00n, cblack, michaelh, ngraham, bruns