aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/qml/qml/qqmlmetatype.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/qml/qml/qqmlmetatype.cpp b/src/qml/qml/qqmlmetatype.cpp
index 87c39b1859..416caa9c63 100644
--- a/src/qml/qml/qqmlmetatype.cpp
+++ b/src/qml/qml/qqmlmetatype.cpp
@@ -200,7 +200,9 @@ static QHashedString moduletoUtf8(const char *module)
static const char *lastModule = 0;
static QHashedString lastModuleStr;
- if (lastModule != module) {
+ // Separate plugins may have different strings at the same address
+ QHashedCStringRef currentModule(module, ::strlen(module));
+ if ((lastModule != module) || (lastModuleStr.hash() != currentModule.hash())) {
lastModuleStr = QString::fromUtf8(module);
lastModuleStr.hash();
lastModule = module;