summaryrefslogtreecommitdiffstats
path: root/src/printsupport/kernel/qplatformprintplugin.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/printsupport/kernel/qplatformprintplugin.cpp')
-rw-r--r--src/printsupport/kernel/qplatformprintplugin.cpp12
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;
}