summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoe Shaw <joeshaw@novell.com>2006-02-09 19:57:42 +0000
committerJoe Shaw <joeshaw@novell.com>2006-02-09 19:57:42 +0000
commitcbe0956998b0bd2d711eac322e3f1af84e0bc991 (patch)
tree9e178a400ad3786664516c45a90f1e7188c9f7e5
parent2b5e0615cf16b9de8de4be902dec5bfc627d4e9a (diff)
2006-02-09 Joe Shaw <joeshaw@novell.com
* mono/Arguments.cs: Fix a magic number in the mono bindings that doesn't work on 64 bit arches. Patch from Peter Johanson.
-rw-r--r--ChangeLog5
-rw-r--r--mono/Arguments.cs21
2 files changed, 25 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 7ac2e4a9..ab8c1a41 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2006-02-09 Joe Shaw <joeshaw@novell.com
+
+ * mono/Arguments.cs: Fix a magic number in the mono bindings
+ that doesn't work on 64 bit arches. Patch from Peter Johanson.
+
2006-01-27 Robert McQueen <robot101@debian.org>
* glib/dbus-binding-tool-glib.[ch]: Patch based on Ricardo Kekki's
diff --git a/mono/Arguments.cs b/mono/Arguments.cs
index 61ae443f..25f89daf 100644
--- a/mono/Arguments.cs
+++ b/mono/Arguments.cs
@@ -10,7 +10,7 @@ namespace DBus
public class Arguments : IEnumerable, IDisposable
{
// Must follow sizeof(DBusMessageIter)
- internal const int DBusMessageIterSize = 14*4;
+ internal static readonly int DBusMessageIterSize = Marshal.SizeOf (typeof(_DBusMessageIter));
private static Hashtable dbusTypes = null;
private Message message;
private IntPtr appenderIter;
@@ -240,6 +240,25 @@ namespace DBus
return new ArgumentsEnumerator(this);
}
+ [StructLayout(LayoutKind.Sequential)]
+ private class _DBusMessageIter
+ {
+ IntPtr dummy1;
+ IntPtr dummy2;
+ int dummy3;
+ int dummy4;
+ int dummy5;
+ int dummy6;
+ int dummy7;
+ int dummy8;
+ int dummy9;
+ int dummy10;
+ int dummy11;
+ int pad1;
+ int pad2;
+ IntPtr pad3;
+ }
+
private class ArgumentsEnumerator : IEnumerator
{
private Arguments arguments;