summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/gui/image/qicon.cpp5
-rw-r--r--src/gui/image/qiconloader.cpp9
2 files changed, 10 insertions, 4 deletions
diff --git a/src/gui/image/qicon.cpp b/src/gui/image/qicon.cpp
index d73cd0aa57..45eda78397 100644
--- a/src/gui/image/qicon.cpp
+++ b/src/gui/image/qicon.cpp
@@ -483,6 +483,11 @@ void QPixmapIconEngine::virtual_hook(int id, void *data)
#ifndef QT_NO_LIBRARY
Q_GLOBAL_STATIC_WITH_ARGS(QFactoryLoader, loader,
(QIconEngineFactoryInterface_iid, QLatin1String("/iconengines"), Qt::CaseInsensitive))
+
+QFactoryLoader *qt_iconEngineFactoryLoader()
+{
+ return loader();
+}
#endif
diff --git a/src/gui/image/qiconloader.cpp b/src/gui/image/qiconloader.cpp
index c2e5161bd3..105dc26c9b 100644
--- a/src/gui/image/qiconloader.cpp
+++ b/src/gui/image/qiconloader.cpp
@@ -104,6 +104,10 @@ static inline QStringList systemIconSearchPaths()
return QStringList();
}
+#ifndef QT_NO_LIBRARY
+extern QFactoryLoader *qt_iconEngineFactoryLoader(); // qicon.cpp
+#endif
+
void QIconLoader::ensureInitialized()
{
if (!m_initialized) {
@@ -116,10 +120,7 @@ void QIconLoader::ensureInitialized()
if (m_systemTheme.isEmpty())
m_systemTheme = fallbackTheme();
#ifndef QT_NO_LIBRARY
- QFactoryLoader iconFactoryLoader(QIconEngineFactoryInterface_iid,
- QLatin1String("/iconengines"),
- Qt::CaseInsensitive);
- if (iconFactoryLoader.keyMap().key(QLatin1String("svg"), -1) != -1)
+ if (qt_iconEngineFactoryLoader()->keyMap().key(QLatin1String("svg"), -1) != -1)
m_supportsSvg = true;
#endif //QT_NO_LIBRARY
}