diff options
author | Frederik Gladhorn <frederik.gladhorn@digia.com> | 2014-02-06 14:21:16 +0100 |
---|---|---|
committer | Frederik Gladhorn <frederik.gladhorn@digia.com> | 2014-02-07 13:07:25 +0100 |
commit | a1fe728fa5bd6cb9e50cf317a58efcf4eea4de2c (patch) | |
tree | 0798ae897d111147238544826c79243b6f9a48a4 /src/dbus | |
parent | 57fe9bd2c6a361cf979d17d962abed5db17a1457 (diff) | |
parent | 65bd80ebfc1be81a196a861ade40ff874a3554f0 (diff) |
Merge remote-tracking branch 'origin/stable' into dev
Conflicts:
src/gui/kernel/qguiapplication.cpp
src/plugins/platforms/android/androidjnimain.cpp
src/plugins/platforms/android/qandroidplatformintegration.cpp
src/plugins/platforms/android/qandroidplatformintegration.h
src/plugins/platforms/android/qandroidplatformopenglcontext.cpp
src/plugins/platforms/cocoa/qcocoawindow.h
src/plugins/platforms/cocoa/qcocoawindow.mm
src/plugins/platforms/xcb/qxcbconnection_xi2.cpp
src/sql/doc/src/sql-driver.qdoc
src/widgets/widgets/qtoolbararealayout.cpp
Change-Id: Ifd7e58760c3cb6bd8a7d1dd32ef83b7ec190d41e
Diffstat (limited to 'src/dbus')
-rw-r--r-- | src/dbus/qdbusmetaobject.cpp | 33 |
1 files changed, 19 insertions, 14 deletions
diff --git a/src/dbus/qdbusmetaobject.cpp b/src/dbus/qdbusmetaobject.cpp index 13c538bb59..392eac6081 100644 --- a/src/dbus/qdbusmetaobject.cpp +++ b/src/dbus/qdbusmetaobject.cpp @@ -128,12 +128,7 @@ QDBusMetaObjectGenerator::QDBusMetaObjectGenerator(const QString &interfaceName, } } -Q_DBUS_EXPORT bool qt_dbus_metaobject_skip_annotations = false; - -QDBusMetaObjectGenerator::Type -QDBusMetaObjectGenerator::findType(const QByteArray &signature, - const QDBusIntrospection::Annotations &annotations, - const char *direction, int id) +static int registerComplexDBusType(const char *typeName) { struct QDBusRawTypeHandler { static void destroy(void *) @@ -159,6 +154,22 @@ QDBusMetaObjectGenerator::findType(const QByteArray &signature, } }; + return QMetaType::registerNormalizedType(typeName, QDBusRawTypeHandler::destroy, + QDBusRawTypeHandler::create, + QDBusRawTypeHandler::destruct, + QDBusRawTypeHandler::construct, + sizeof(void *), + QMetaType::MovableType, + 0); +} + +Q_DBUS_EXPORT bool qt_dbus_metaobject_skip_annotations = false; + +QDBusMetaObjectGenerator::Type +QDBusMetaObjectGenerator::findType(const QByteArray &signature, + const QDBusIntrospection::Annotations &annotations, + const char *direction, int id) +{ Type result; result.id = QVariant::Invalid; @@ -195,13 +206,7 @@ QDBusMetaObjectGenerator::findType(const QByteArray &signature, // type is still unknown or doesn't match back to the signature that it // was expected to, so synthesize a fake type typeName = "QDBusRawType<0x" + signature.toHex() + ">*"; - type = QMetaType::registerType(typeName, QDBusRawTypeHandler::destroy, - QDBusRawTypeHandler::create, - QDBusRawTypeHandler::destruct, - QDBusRawTypeHandler::construct, - sizeof(void *), - QMetaType::MovableType, - 0); + type = registerComplexDBusType(typeName); } result.name = typeName; @@ -217,7 +222,7 @@ QDBusMetaObjectGenerator::findType(const QByteArray &signature, type = QVariant::Map; } else { result.name = "QDBusRawType::" + signature; - type = -1; + type = registerComplexDBusType(result.name); } } else { result.name = QMetaType::typeName(type); |