Remove some QString <-> utf8 conversions.
authorMartin Jones <martin.jones@nokia.com>
Fri, 22 Jul 2011 04:52:08 +0000 (14:52 +1000)
committerQt by Nokia <qt-info@nokia.com>
Tue, 30 Aug 2011 11:18:28 +0000 (13:18 +0200)
Change-Id: I4478ec805f5b1e05025baafaf7035b8fb57f9854
Reviewed-on: http://codereview.qt.nokia.com/3770
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>

src/declarative/qml/qdeclarativecompiler.cpp
src/declarative/qml/qdeclarativeimport.cpp
src/declarative/qml/qdeclarativeimport_p.h
src/declarative/qml/qdeclarativemetatype.cpp
src/declarative/qml/qdeclarativemetatype_p.h
src/declarative/qml/qdeclarativetypeloader.cpp

index 85f1fe5..bae2ccb 100644 (file)
@@ -1483,7 +1483,7 @@ bool QDeclarativeCompiler::buildSignal(QDeclarativeParser::Property *prop, QDecl
             const QList<QDeclarativeTypeData::TypeReference>  &resolvedTypes = unit->resolvedTypes();
             const QDeclarativeTypeData::TypeReference &type = resolvedTypes.at(obj->type);
             if (type.type) {
-                COMPILE_EXCEPTION(prop, tr("\"%1.%2\" is not available in %3 %4.%5.").arg(elementName(obj)).arg(prop->name().toString()).arg(QString::fromUtf8(type.type->module())).arg(type.majorVersion).arg(type.minorVersion));
+                COMPILE_EXCEPTION(prop, tr("\"%1.%2\" is not available in %3 %4.%5.").arg(elementName(obj)).arg(prop->name().toString()).arg(type.type->module()).arg(type.majorVersion).arg(type.minorVersion));
             } else {
                 COMPILE_EXCEPTION(prop, tr("\"%1.%2\" is not available due to component versioning.").arg(elementName(obj)).arg(prop->name().toString()));
             }
@@ -1560,7 +1560,7 @@ bool QDeclarativeCompiler::buildProperty(QDeclarativeParser::Property *prop,
 
         QDeclarativeType *type = 0;
         QDeclarativeImportedNamespace *typeNamespace = 0;
-        unit->imports().resolveType(prop->name().toUtf8(), &type, 0, 0, 0, &typeNamespace);
+        unit->imports().resolveType(prop->name().toString(), &type, 0, 0, 0, &typeNamespace);
 
         if (typeNamespace) {
             COMPILE_CHECK(buildPropertyInNamespace(typeNamespace, prop, obj, 
@@ -1586,7 +1586,7 @@ bool QDeclarativeCompiler::buildProperty(QDeclarativeParser::Property *prop,
             const QList<QDeclarativeTypeData::TypeReference>  &resolvedTypes = unit->resolvedTypes();
             const QDeclarativeTypeData::TypeReference &type = resolvedTypes.at(obj->type);
             if (type.type) {
-                COMPILE_EXCEPTION(prop, tr("\"%1.%2\" is not available in %3 %4.%5.").arg(elementName(obj)).arg(prop->name().toString()).arg(QString::fromUtf8(type.type->module())).arg(type.majorVersion).arg(type.minorVersion));
+                COMPILE_EXCEPTION(prop, tr("\"%1.%2\" is not available in %3 %4.%5.").arg(elementName(obj)).arg(prop->name().toString()).arg(type.type->module()).arg(type.majorVersion).arg(type.minorVersion));
             } else {
                 COMPILE_EXCEPTION(prop, tr("\"%1.%2\" is not available due to component versioning.").arg(elementName(obj)).arg(prop->name().toString()));
             }
@@ -1674,7 +1674,7 @@ bool QDeclarativeCompiler::buildPropertyInNamespace(QDeclarativeImportedNamespac
         // Setup attached property data
 
         QDeclarativeType *type = 0;
-        unit->imports().resolveType(ns, prop->name().toUtf8(), &type, 0, 0, 0);
+        unit->imports().resolveType(ns, prop->name().toString(), &type, 0, 0, 0);
 
         if (!type || !type->attachedPropertiesType()) 
             COMPILE_EXCEPTION(prop, tr("Non-existent attached object"));
@@ -2314,7 +2314,7 @@ bool QDeclarativeCompiler::testQualifiedEnumAssignment(const QMetaProperty &prop
 
     QString typeName = parts.at(0);
     QDeclarativeType *type = 0;
-    unit->imports().resolveType(typeName.toUtf8(), &type, 0, 0, 0, 0);
+    unit->imports().resolveType(typeName, &type, 0, 0, 0, 0);
 
     //handle enums on value types (where obj->typeName is empty)
     QByteArray objTypeName = obj->typeName;
@@ -2371,7 +2371,7 @@ int QDeclarativeCompiler::evaluateEnum(const QByteArray& script) const
     if (dot > 0) {
         const QByteArray &scope = script.left(dot);
         QDeclarativeType *type = 0;
-        unit->imports().resolveType(scope, &type, 0, 0, 0, 0);
+        unit->imports().resolveType(QString::fromUtf8(script.left(dot)), &type, 0, 0, 0, 0);
         if (!type && scope != "Qt")
             return -1;
         const QMetaObject *mo = type ? type->metaObject() : StaticQtMetaObject::get();
@@ -2389,7 +2389,7 @@ int QDeclarativeCompiler::evaluateEnum(const QByteArray& script) const
 const QMetaObject *QDeclarativeCompiler::resolveType(const QByteArray& name) const
 {
     QDeclarativeType *qmltype = 0;
-    if (!unit->imports().resolveType(name, &qmltype, 0, 0, 0, 0)) 
+    if (!unit->imports().resolveType(QString::fromUtf8(name), &qmltype, 0, 0, 0, 0))
         return 0;
     if (!qmltype)
         return 0;
@@ -2634,7 +2634,7 @@ bool QDeclarativeCompiler::buildDynamicMeta(QDeclarativeParser::Object *obj, Dyn
                 QByteArray customTypeName;
                 QDeclarativeType *qmltype = 0;
                 QString url;
-                if (!unit->imports().resolveType(p->customType.toUtf8(), &qmltype, &url, 0, 0, 0)) 
+                if (!unit->imports().resolveType(p->customType.toString(), &qmltype, &url, 0, 0, 0))
                     COMPILE_EXCEPTION(p, tr("Invalid property type"));
 
                 if (!qmltype) {
index 61ece7a..0d35947 100644 (file)
@@ -92,7 +92,7 @@ class QDeclarativeImportedNamespace
 {
 public:
     struct Data {
-        QByteArray uri;
+        QString uri;
         QString url;
         int majversion;
         int minversion;
@@ -102,10 +102,10 @@ public:
     QList<Data> imports;
 
 
-    bool find_helper(QDeclarativeTypeLoader *typeLoader, const Data &data, const QByteArray& type, int *vmajor, int *vminor,
+    bool find_helper(QDeclarativeTypeLoader *typeLoader, const Data &data, const QString& type, int *vmajor, int *vminor,
                                  QDeclarativeType** type_return, QString* url_return,
                                  QString *base = 0, bool *typeRecursionDetected = 0);
-    bool find(QDeclarativeTypeLoader *typeLoader, const QByteArray& type, int *vmajor, int *vminor, QDeclarativeType** type_return,
+    bool find(QDeclarativeTypeLoader *typeLoader, const QString& type, int *vmajor, int *vminor, QDeclarativeType** type_return,
               QString* url_return, QString *base = 0, QList<QDeclarativeError> *errors = 0);
 };
 
@@ -123,7 +123,7 @@ public:
              const QString& uri_arg, const QString& prefix, 
              int vmaj, int vmin, QDeclarativeScriptParser::Import::Type importType, 
              QDeclarativeImportDatabase *database, QList<QDeclarativeError> *errors);
-    bool find(const QByteArray& type, int *vmajor, int *vminor, 
+    bool find(const QString& type, int *vmajor, int *vminor,
               QDeclarativeType** type_return, QString* url_return, QList<QDeclarativeError> *errors);
 
     QDeclarativeImportedNamespace *findNamespace(const QString& type);
@@ -210,7 +210,7 @@ void QDeclarativeImports::populateCache(QDeclarativeTypeNameCache *cache, QDecla
             if (module)
                 import.modules.append(QDeclarativeTypeModuleVersion(module, data.minversion));
 
-            QDeclarativeMetaType::ModuleApi moduleApi = QDeclarativeMetaType::moduleApi(data.uri, data.majversion, data.minversion);
+            QDeclarativeMetaType::ModuleApi moduleApi = QDeclarativeMetaType::moduleApi(data.uri.toUtf8(), data.majversion, data.minversion);
             if (moduleApi.script || moduleApi.qobject) {
                 QDeclarativeEnginePrivate *ep = QDeclarativeEnginePrivate::get(engine);
                 QDeclarativeMetaType::ModuleApiInstance *a = ep->moduleApiInstances.value(moduleApi);
@@ -242,11 +242,11 @@ void QDeclarativeImports::populateCache(QDeclarativeTypeNameCache *cache, QDecla
 
   \sa addImport()
 */
-bool QDeclarativeImports::resolveType(const QByteArray& type,
+bool QDeclarativeImports::resolveType(const QString& type,
                                       QDeclarativeType** type_return, QString* url_return, int *vmaj, int *vmin,
                                       QDeclarativeImportedNamespace** ns_return, QList<QDeclarativeError> *errors) const
 {
-    QDeclarativeImportedNamespace* ns = d->findNamespace(QString::fromUtf8(type));
+    QDeclarativeImportedNamespace* ns = d->findNamespace(type);
     if (ns) {
         if (ns_return)
             *ns_return = ns;
@@ -281,17 +281,20 @@ bool QDeclarativeImports::resolveType(const QByteArray& type,
 
   If either return pointer is 0, the corresponding search is not done.
 */
-bool QDeclarativeImports::resolveType(QDeclarativeImportedNamespace* ns, const QByteArray& type, 
+bool QDeclarativeImports::resolveType(QDeclarativeImportedNamespace* ns, const QString& type,
                                       QDeclarativeType** type_return, QString* url_return,
                                       int *vmaj, int *vmin) const
 {
     return ns->find(d->typeLoader,type,vmaj,vmin,type_return,url_return);
 }
 
-bool QDeclarativeImportedNamespace::find_helper(QDeclarativeTypeLoader *typeLoader, const Data &data, const QByteArray& type, int *vmajor, int *vminor,
+bool QDeclarativeImportedNamespace::find_helper(QDeclarativeTypeLoader *typeLoader, const Data &data, const QString& type, int *vmajor, int *vminor,
                                  QDeclarativeType** type_return, QString* url_return,
                                  QString *base, bool *typeRecursionDetected)
 {
+    int vmaj = data.majversion;
+    int vmin = data.minversion;
+
     if (vmaj >= 0 && vmin >= 0) {
         QString qt = data.uri + QLatin1Char('/') + type;
         QDeclarativeType *t = QDeclarativeMetaType::qmlType(qt,vmaj,vmin);
@@ -333,7 +336,7 @@ bool QDeclarativeImportedNamespace::find_helper(QDeclarativeTypeLoader *typeLoad
 
     if (!typeWasDeclaredInQmldir && !data.isLibrary) {
         // XXX search non-files too! (eg. zip files, see QT-524)
-        QString url(data.url + QString::fromUtf8(type) + QLatin1String(".qml"));
+        QString url(data.url + type + QLatin1String(".qml"));
         QString file = QDeclarativeEnginePrivate::urlToLocalFileOrQrc(url);
         if (!typeLoader->absoluteFilePath(file).isEmpty()) {
             if (base && *base == url) { // no recursion
@@ -542,14 +545,13 @@ bool QDeclarativeImportsPrivate::add(const QDeclarativeDirComponents &qmldircomp
             }
         }
 
-        if (QDeclarativeMetaType::isModule(uri.toUtf8(), vmaj, vmin)) {
+        if (QDeclarativeMetaType::isModule(uri, vmaj, vmin))
             versionFound = true;
-        }
 
         if (!versionFound && qmldircomponents.isEmpty()) {
             if (errors) {
                 QDeclarativeError error; // we don't set the url or line or column as these will be set by the loader.
-                if (QDeclarativeMetaType::isAnyModule(uri.toUtf8()))
+                if (QDeclarativeMetaType::isAnyModule(uri))
                     error.setDescription(QDeclarativeImportDatabase::tr("module \"%1\" version %2.%3 is not installed").arg(uri_arg).arg(vmaj).arg(vmin));
                 else
                     error.setDescription(QDeclarativeImportDatabase::tr("module \"%1\" is not installed").arg(uri_arg));
@@ -626,7 +628,7 @@ bool QDeclarativeImportsPrivate::add(const QDeclarativeDirComponents &qmldircomp
         url += Slash;
 
     QDeclarativeImportedNamespace::Data data;
-    data.uri = uri.toUtf8();
+    data.uri = uri;
     data.url = url;
     data.majversion = vmaj;
     data.minversion = vmin;
@@ -637,13 +639,13 @@ bool QDeclarativeImportsPrivate::add(const QDeclarativeDirComponents &qmldircomp
     return true;
 }
 
-bool QDeclarativeImportsPrivate::find(const QByteArray& type, int *vmajor, int *vminor, QDeclarativeType** type_return,
+bool QDeclarativeImportsPrivate::find(const QString& type, int *vmajor, int *vminor, QDeclarativeType** type_return,
                                       QString* url_return, QList<QDeclarativeError> *errors)
 {
     QDeclarativeImportedNamespace *s = 0;
-    int slash = type.indexOf('/');
+    int slash = type.indexOf(QLatin1Char('/'));
     if (slash >= 0) {
-        QString namespaceName = QString::fromUtf8(type.left(slash));
+        QString namespaceName = type.left(slash);
         s = set.value(namespaceName);
         if (!s) {
             if (errors) {
@@ -653,7 +655,7 @@ bool QDeclarativeImportsPrivate::find(const QByteArray& type, int *vmajor, int *
             }
             return false;
         }
-        int nslash = type.indexOf('/',slash+1);
+        int nslash = type.indexOf(QLatin1Char('/'),slash+1);
         if (nslash > 0) {
             if (errors) {
                 QDeclarativeError error;
@@ -665,13 +667,13 @@ bool QDeclarativeImportsPrivate::find(const QByteArray& type, int *vmajor, int *
     } else {
         s = &unqualifiedset;
     }
-    QByteArray unqualifiedtype = slash < 0 ? type : type.mid(slash+1); // common-case opt (QString::mid works fine, but slower)
+    QString unqualifiedtype = slash < 0 ? type : type.mid(slash+1); // common-case opt (QString::mid works fine, but slower)
     if (s) {
         if (s->find(typeLoader,unqualifiedtype,vmajor,vminor,type_return,url_return, &base, errors))
             return true;
         if (s->imports.count() == 1 && !s->imports.at(0).isLibrary && url_return && s != &unqualifiedset) {
             // qualified, and only 1 url
-            *url_return = resolveLocalUrl(s->imports.at(0).url, QString::fromUtf8(unqualifiedtype) + QLatin1String(".qml"));
+            *url_return = resolveLocalUrl(s->imports.at(0).url, unqualifiedtype + QLatin1String(".qml"));
             return true;
         }
     }
@@ -684,7 +686,7 @@ QDeclarativeImportedNamespace *QDeclarativeImportsPrivate::findNamespace(const Q
     return set.value(type);
 }
 
-bool QDeclarativeImportedNamespace::find(QDeclarativeTypeLoader *typeLoader, const QByteArray& type, int *vmajor, int *vminor, QDeclarativeType** type_return,
+bool QDeclarativeImportedNamespace::find(QDeclarativeTypeLoader *typeLoader, const QString& type, int *vmajor, int *vminor, QDeclarativeType** type_return,
           QString* url_return, QString *base, QList<QDeclarativeError> *errors)
 {
     bool typeRecursionDetected = false;
index 94639bd..4f3b9c2 100644 (file)
@@ -81,13 +81,13 @@ public:
     void setBaseUrl(const QUrl &url);
     QUrl baseUrl() const;
 
-    bool resolveType(const QByteArray& type,
+    bool resolveType(const QString& type,
                      QDeclarativeType** type_return, QString* url_return,
                      int *version_major, int *version_minor,
                      QDeclarativeImportedNamespace** ns_return,
                      QList<QDeclarativeError> *errors = 0) const;
     bool resolveType(QDeclarativeImportedNamespace*, 
-                     const QByteArray& type,
+                     const QString& type,
                      QDeclarativeType** type_return, QString* url_return,
                      int *version_major, int *version_minor) const;
 
index e0bef56..778dba3 100644 (file)
@@ -104,12 +104,12 @@ struct QDeclarativeMetaTypeData
     struct VersionedUri {
         VersionedUri()
         : majorVersion(0) {}
-        VersionedUri(const QByteArray &uri, int majorVersion)
+        VersionedUri(const QString &uri, int majorVersion)
         : uri(uri), majorVersion(majorVersion) {}
         bool operator==(const VersionedUri &other) const {
             return other.majorVersion == majorVersion && other.uri == uri;
         }
-        QByteArray uri;
+        QString uri;
         int majorVersion;
     };
     typedef QHash<VersionedUri, QDeclarativeTypeModule *> TypeModules;
@@ -120,7 +120,7 @@ struct QDeclarativeMetaTypeData
         QList<QDeclarativeMetaType::ModuleApi> moduleApis;
         bool sorted;
     };
-    typedef QHash<QByteArray, ModuleApiList> ModuleApis;
+    typedef QHash<QString, ModuleApiList> ModuleApis;
     ModuleApis moduleApis;
     int moduleApiCount;
 
@@ -177,7 +177,7 @@ public:
 
     bool m_isInterface : 1;
     const char *m_iid;
-    QByteArray m_module;
+    QString m_module;
     QByteArray m_name;
     QString m_elementName;
     int m_version_maj;
@@ -244,7 +244,7 @@ QDeclarativeType::QDeclarativeType(int index, const QDeclarativePrivate::Registe
     if (type.uri) name += '/';
     name += type.elementName;
 
-    d->m_module = type.uri;
+    d->m_module = QString::fromUtf8(type.uri);
     d->m_name = name;
     d->m_version_maj = type.versionMajor;
     d->m_version_min = type.versionMinor;
@@ -283,7 +283,7 @@ QDeclarativeType::~QDeclarativeType()
     delete d;
 }
 
-QByteArray QDeclarativeType::module() const
+QString QDeclarativeType::module() const
 {
     return d->m_module;
 }
@@ -304,7 +304,7 @@ bool QDeclarativeType::availableInVersion(int vmajor, int vminor) const
     return vmajor == d->m_version_maj && vminor >= d->m_version_min;
 }
 
-bool QDeclarativeType::availableInVersion(const QByteArray &module, int vmajor, int vminor) const
+bool QDeclarativeType::availableInVersion(const QString &module, int vmajor, int vminor) const
 {
     Q_ASSERT(vmajor >= 0 && vminor >= 0);
     return module == d->m_module && vmajor == d->m_version_maj && vminor >= d->m_version_min;
@@ -682,7 +682,7 @@ QDeclarativeTypeModule::~QDeclarativeTypeModule()
     delete d; d = 0;
 }
 
-QByteArray QDeclarativeTypeModule::module() const
+QString QDeclarativeTypeModule::module() const
 {
     return d->uri.uri;
 }
@@ -887,7 +887,7 @@ int registerType(const QDeclarativePrivate::RegisterType &type)
     if (type.listId) data->lists.setBit(type.listId, true);
 
     if (type.uri) {
-        QByteArray mod(type.uri);
+        QString mod = QString::fromUtf8(type.uri);
 
         QDeclarativeMetaTypeData::VersionedUri versionedUri(mod, type.versionMajor);
         QDeclarativeTypeModule *module = data->uriToModule.value(versionedUri);
@@ -907,7 +907,7 @@ int registerModuleApi(const QDeclarativePrivate::RegisterModuleApi &api)
     QWriteLocker lock(metaTypeDataLock());
 
     QDeclarativeMetaTypeData *data = metaTypeData();
-    QByteArray uri(api.uri);
+    QString uri = QString::fromUtf8(api.uri);
     QDeclarativeMetaType::ModuleApi import;
     import.major = api.versionMajor;
     import.minor = api.versionMinor;
@@ -965,7 +965,7 @@ bool QDeclarativeMetaType::isAnyModule(const QByteArray &module)
 /*
     Returns true if a module \a uri of any version is installed.
 */
-bool QDeclarativeMetaType::isAnyModule(const QByteArray &uri)
+bool QDeclarativeMetaType::isAnyModule(const QString &uri)
 {
     QReadLocker lock(metaTypeDataLock());
     QDeclarativeMetaTypeData *data = metaTypeData();
@@ -986,7 +986,7 @@ bool QDeclarativeMetaType::isAnyModule(const QByteArray &uri)
 
     So if only 4.7 and 4.9 have been registered, 4.7,4.8, and 4.9 are valid, but not 4.6 nor 4.10.
 */
-bool QDeclarativeMetaType::isModule(const QByteArray &module, int versionMajor, int versionMinor)
+bool QDeclarativeMetaType::isModule(const QString &module, int versionMajor, int versionMinor)
 {
     Q_ASSERT(versionMajor >= 0 && versionMinor >= 0);
     QReadLocker lock(metaTypeDataLock());
@@ -1008,7 +1008,7 @@ bool QDeclarativeMetaType::isModule(const QByteArray &module, int versionMajor,
     return false;
 }
 
-QDeclarativeTypeModule *QDeclarativeMetaType::typeModule(const QByteArray &uri, int majorVersion)
+QDeclarativeTypeModule *QDeclarativeMetaType::typeModule(const QString &uri, int majorVersion)
 {
     QReadLocker lock(metaTypeDataLock());
     QDeclarativeMetaTypeData *data = metaTypeData();
@@ -1028,7 +1028,7 @@ static bool operator<(const QDeclarativeMetaType::ModuleApi &lhs, const QDeclara
 }
 
 QDeclarativeMetaType::ModuleApi
-QDeclarativeMetaType::moduleApi(const QByteArray &uri, int versionMajor, int versionMinor)
+QDeclarativeMetaType::moduleApi(const QString &uri, int versionMajor, int versionMinor)
 {
     QReadLocker lock(metaTypeDataLock());
     QDeclarativeMetaTypeData *data = metaTypeData();
@@ -1278,7 +1278,7 @@ QDeclarativeType *QDeclarativeMetaType::qmlType(const QMetaObject *metaObject)
     by \a version_major and \a version_minor in module specified by \a uri.  Returns null if no
     type is registered.
 */
-QDeclarativeType *QDeclarativeMetaType::qmlType(const QMetaObject *metaObject, const QByteArray &module, int version_major, int version_minor)
+QDeclarativeType *QDeclarativeMetaType::qmlType(const QMetaObject *metaObject, const QString &module, int version_major, int version_minor)
 {
     Q_ASSERT(version_major >= 0 && version_minor >= 0);
     QReadLocker lock(metaTypeDataLock());
index 239b7ca..6dfdf6a 100644 (file)
@@ -79,7 +79,7 @@ public:
 
     static QDeclarativeType *qmlType(const QByteArray &, int, int);
     static QDeclarativeType *qmlType(const QMetaObject *);
-    static QDeclarativeType *qmlType(const QMetaObject *metaObject, const QByteArray &module, int version_major, int version_minor);
+    static QDeclarativeType *qmlType(const QMetaObject *metaObject, const QString &module, int version_major, int version_minor);
     static QDeclarativeType *qmlType(int);
 
     static QMetaProperty defaultProperty(const QMetaObject *);
@@ -105,9 +105,9 @@ public:
     static void registerCustomStringConverter(int, StringConverter);
     static StringConverter customStringConverter(int);
 
-    static bool isAnyModule(const QByteArray &uri);
-    static bool isModule(const QByteArray &module, int versionMajor, int versionMinor);
-    static QDeclarativeTypeModule *typeModule(const QByteArray &uri, int majorVersion);
+    static bool isAnyModule(const QString &uri);
+    static bool isModule(const QString &module, int versionMajor, int versionMinor);
+    static QDeclarativeTypeModule *typeModule(const QString &uri, int majorVersion);
 
     static QList<QDeclarativePrivate::AutoParentFunction> parentFunctions();
 
@@ -128,7 +128,7 @@ public:
         QJSValue (*script)(QDeclarativeEngine *, QJSEngine *);
         QObject *(*qobject)(QDeclarativeEngine *, QJSEngine *);
     };
-    static ModuleApi moduleApi(const QByteArray &, int, int);
+    static ModuleApi moduleApi(const QString &, int, int);
 };
 
 class QHashedStringRef;
@@ -140,12 +140,12 @@ public:
     const QByteArray &qmlTypeName() const;
     const QString &elementName() const;
 
-    QByteArray module() const;
+    QString module() const;
     int majorVersion() const;
     int minorVersion() const;
 
     bool availableInVersion(int vmajor, int vminor) const;
-    bool availableInVersion(const QByteArray &module, int vmajor, int vminor) const;
+    bool availableInVersion(const QString &module, int vmajor, int vminor) const;
 
     QObject *create() const;
     void create(QObject **, void **, size_t) const;
@@ -200,7 +200,7 @@ class QDeclarativeTypeModulePrivate;
 class QDeclarativeTypeModule
 {
 public:
-    QByteArray module() const;
+    QString module() const;
     int majorVersion() const;
 
     int minimumMinorVersion() const;
index 1383d64..36b5f28 100644 (file)
@@ -1179,8 +1179,6 @@ void QDeclarativeTypeData::resolveTypes()
     }
 
     foreach (QDeclarativeScriptParser::TypeReference *parserRef, scriptParser.referencedTypes()) {
-        QByteArray typeName = parserRef->name.toUtf8();
-
         TypeReference ref;
 
         QString url;
@@ -1189,7 +1187,7 @@ void QDeclarativeTypeData::resolveTypes()
         QDeclarativeImportedNamespace *typeNamespace = 0;
         QList<QDeclarativeError> errors;
 
-        if (!m_imports.resolveType(typeName, &ref.type, &url, &majorVersion, &minorVersion,
+        if (!m_imports.resolveType(parserRef->name, &ref.type, &url, &majorVersion, &minorVersion,
                                    &typeNamespace, &errors) || typeNamespace) {
             // Known to not be a type:
             //  - known to be a namespace (Namespace {})