summaryrefslogtreecommitdiffstats
path: root/src/dbus/qdbusintegrator.cpp
diff options
context:
space:
mode:
authorThiago Macieira <thiago.macieira@intel.com>2011-11-16 14:47:11 -0200
committerQt by Nokia <qt-info@nokia.com>2012-03-24 17:07:52 +0100
commite22a6108fda7cac78f5597247ce7b0628b6ba3e2 (patch)
tree49858a35bf398e8137c853bbd258b826adbe8974 /src/dbus/qdbusintegrator.cpp
parent387ec9c2a35b2b181e2b2ca29079ecb44eac87e9 (diff)
Use QVector<int> instead of QList<int> for storing metatypes in QtDBus
Change I00020eed fixed a bug present in 64-bit machines because it tried to access QList<int>'s internal array data, assuming it was a vector of ints. That worked in 32-bit, but not 64-bit. The fix involves a conversion between QList and QVector. Now fix it properly by changing everything to be QVector. The benefit is that on 64-bit, they are real vectors, not the 50%-overhead pointer array that QList is. Change-Id: I989ad279d0d8b2c9ab262a1eed413ab2365b5461 Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Diffstat (limited to 'src/dbus/qdbusintegrator.cpp')
-rw-r--r--src/dbus/qdbusintegrator.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/dbus/qdbusintegrator.cpp b/src/dbus/qdbusintegrator.cpp
index f0c8224be2..cb91601753 100644
--- a/src/dbus/qdbusintegrator.cpp
+++ b/src/dbus/qdbusintegrator.cpp
@@ -624,7 +624,7 @@ static void huntAndEmit(DBusConnection *connection, DBusMessage *msg,
}
static int findSlot(const QMetaObject *mo, const QByteArray &name, int flags,
- const QString &signature_, QList<int>& metaTypes)
+ const QString &signature_, QVector<int> &metaTypes)
{
QByteArray msgSignature = signature_.toLatin1();
@@ -724,7 +724,7 @@ static QDBusCallDeliveryEvent * const DIRECT_DELIVERY = (QDBusCallDeliveryEvent
QDBusCallDeliveryEvent* QDBusConnectionPrivate::prepareReply(QDBusConnectionPrivate *target,
QObject *object, int idx,
- const QList<int> &metaTypes,
+ const QVector<int> &metaTypes,
const QDBusMessage &msg)
{
Q_ASSERT(object);
@@ -862,7 +862,7 @@ bool QDBusConnectionPrivate::activateCall(QObject* object, int flags, const QDBu
}
void QDBusConnectionPrivate::deliverCall(QObject *object, int /*flags*/, const QDBusMessage &msg,
- const QList<int> &metaTypes, int slotIdx)
+ const QVector<int> &metaTypes, int slotIdx)
{
Q_ASSERT_X(!object || QThread::currentThread() == object->thread(),
"QDBusConnection: internal threading error",
@@ -1238,7 +1238,7 @@ void QDBusConnectionPrivate::serviceOwnerChangedNoLock(const QString &name,
}
int QDBusConnectionPrivate::findSlot(QObject* obj, const QByteArray &normalizedName,
- QList<int> &params)
+ QVector<int> &params)
{
int midx = obj->metaObject()->indexOfMethod(normalizedName);
if (midx == -1)