diff options
Diffstat (limited to 'src/printsupport/kernel/qplatformprintplugin.cpp')
-rw-r--r-- | src/printsupport/kernel/qplatformprintplugin.cpp | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/src/printsupport/kernel/qplatformprintplugin.cpp b/src/printsupport/kernel/qplatformprintplugin.cpp index 2c87fcc5e6..854d8810cc 100644 --- a/src/printsupport/kernel/qplatformprintplugin.cpp +++ b/src/printsupport/kernel/qplatformprintplugin.cpp @@ -39,7 +39,7 @@ ** ****************************************************************************/ -#include "qplatformprintplugin_qpa.h" +#include "qplatformprintplugin.h" #include "private/qfactoryloader_p.h" QT_BEGIN_NAMESPACE @@ -70,13 +70,9 @@ QPlatformPrinterSupport *QPlatformPrinterSupportPlugin::get() { static QPlatformPrinterSupport *singleton = 0; if (!singleton) { - QStringList k = loader()->keys(); - if (k.isEmpty()) - return 0; - QPlatformPrinterSupportPlugin *plugin = qobject_cast<QPlatformPrinterSupportPlugin *>(loader()->instance(k.first())); - if (!plugin) - return 0; - singleton = plugin->create(k.first()); + const QMultiMap<int, QString> keyMap = loader()->keyMap(); + if (!keyMap.isEmpty()) + singleton = qLoadPlugin<QPlatformPrinterSupport, QPlatformPrinterSupportPlugin>(loader(), keyMap.constBegin().value()); } return singleton; } |