aacid added a comment.
Now i understand this is causing relatively several issues, sorry for dropping the ball, so we should probably fix for users before Qt 5.15.1 What about something like diff --git a/src/kicontheme.cpp b/src/kicontheme.cpp index 4f5d9d5..62fc9d7 100644 --- a/src/kicontheme.cpp +++ b/src/kicontheme.cpp @@ -70,6 +70,19 @@ void initRCCIconTheme() } Q_COREAPP_STARTUP_FUNCTION(initRCCIconTheme) +class SetBreezeFallbackHelper : public QObject +{ + bool event(QEvent *e) override + { + if (e->type() == QEvent::User) { + QIcon::setFallbackThemeName(QStringLiteral("breeze")); + deleteLater(); + return true; + } + return QObject::event(e); + } +}; + // Set the icon theme fallback to breeze // Most of our apps use "lots" of icons that most of the times // are only available with breeze, we still honour the user icon @@ -77,7 +90,8 @@ Q_COREAPP_STARTUP_FUNCTION(initRCCIconTheme) // since it's almost sure it'll be there static void setBreezeFallback() { - QIcon::setFallbackThemeName(QStringLiteral("breeze")); + SetBreezeFallbackHelper *helper = new SetBreezeFallbackHelper(); + QCoreApplication::instance()->postEvent(helper, new QEvent(QEvent::User), Qt::HighEventPriority); } Q_COREAPP_STARTUP_FUNCTION(setBreezeFallback) It's still totally bad since it only sets the fallback after QGuiApplication *starts* running (which is mega late since most of the constructors will have already be created), but at least doesn't rely on the app creating a KIconTheme. 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