Hello community, here is the log from the commit of package libdbus-1-qt3-0 for openSUSE:Factory checked in at 2012-04-12 09:36:48 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libdbus-1-qt3-0 (Old) and /work/SRC/openSUSE:Factory/.libdbus-1-qt3-0.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libdbus-1-qt3-0", Maintainer is "[email protected]" Changes: -------- --- /work/SRC/openSUSE:Factory/libdbus-1-qt3-0/libdbus-1-qt3-0.changes 2012-03-26 14:01:30.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.libdbus-1-qt3-0.new/libdbus-1-qt3-0.changes 2012-04-12 09:36:52.000000000 +0200 @@ -1,0 +2,6 @@ +Wed Apr 11 13:54:45 UTC 2012 - [email protected] + +- add a patch to fix a bug with incorrectly de-marshalling arrays + of objectpath by Serghei Amelian + +------------------------------------------------------------------- New: ---- gentoo-140659d46b44b18c311d8d6f0cb7c96cbc43c6b5.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libdbus-1-qt3-0.spec ++++++ --- /var/tmp/diff_new_pack.CP0s9H/_old 2012-04-12 09:36:54.000000000 +0200 +++ /var/tmp/diff_new_pack.CP0s9H/_new 2012-04-12 09:36:54.000000000 +0200 @@ -30,6 +30,7 @@ Patch2: r785103.patch Patch3: r795238.patch Patch4: fix_circular_destructor.patch +Patch5: gentoo-140659d46b44b18c311d8d6f0cb7c96cbc43c6b5.patch %description This library provides Qt3-classes for accessing the DBus @@ -60,6 +61,7 @@ %patch2 -p1 %patch3 -p0 %patch4 -p0 +%patch5 -p3 %build export QTDIR=/usr/lib/qt3 ++++++ gentoo-140659d46b44b18c311d8d6f0cb7c96cbc43c6b5.patch ++++++ >From 140659d46b44b18c311d8d6f0cb7c96cbc43c6b5 Mon Sep 17 00:00:00 2001 From: Serghei Amelian <[email protected]> Date: Wed, 11 Apr 2012 15:58:40 +0300 Subject: [PATCH] fix de-marshalling array of ObjectPath --- dbus/src/qdbusmarshall.cpp | 22 +++++++++++++++++++++- 1 files changed, 21 insertions(+), 1 deletions(-) diff --git a/dbus/src/qdbusmarshall.cpp b/dbus/src/qdbusmarshall.cpp index 8951090..de44a27 100644 --- a/dbus/src/qdbusmarshall.cpp +++ b/dbus/src/qdbusmarshall.cpp @@ -342,6 +342,19 @@ void qFetchStringKeyMapEntry(QDBusDataMap<QString>& map, DBusMessageIter* it) map.insert(key, qFetchParameter(&itemIter)); } +void qFetchObjectPathKeyMapEntry(QDBusDataMap<QDBusObjectPath>& map, DBusMessageIter* it) +{ + DBusMessageIter itemIter; + dbus_message_iter_recurse(it, &itemIter); + Q_ASSERT(dbus_message_iter_has_next(&itemIter)); + + QDBusObjectPath key = qFetchParameter(&itemIter).toObjectPath(); + + dbus_message_iter_next(&itemIter); + + map.insert(key, qFetchParameter(&itemIter)); +} + static QDBusData qFetchMap(DBusMessageIter *it, const QDBusData& prototype) { if (dbus_message_iter_get_arg_type(it) == DBUS_TYPE_INVALID) @@ -417,7 +430,6 @@ static QDBusData qFetchMap(DBusMessageIter *it, const QDBusData& prototype) } case DBUS_TYPE_STRING: // fall through - case DBUS_TYPE_OBJECT_PATH: // fall through case DBUS_TYPE_SIGNATURE: { QDBusDataMap<QString> map = prototype.toStringKeyMap(); do { @@ -427,6 +439,14 @@ static QDBusData qFetchMap(DBusMessageIter *it, const QDBusData& prototype) return QDBusData::fromStringKeyMap(map); } + case DBUS_TYPE_OBJECT_PATH: { + QDBusDataMap<QDBusObjectPath> map = prototype.toObjectPathKeyMap(); + do { + qFetchObjectPathKeyMapEntry(map, it); + } while (dbus_message_iter_next(it)); + return QDBusData::fromObjectPathKeyMap(map); + } + default: break; } -- 1.7.5.4 -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
