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]

Reply via email to