summaryrefslogtreecommitdiffstats
path: root/mono/Arguments.cs
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 /mono/Arguments.cs
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.
Diffstat (limited to 'mono/Arguments.cs')
-rw-r--r--mono/Arguments.cs21
1 files changed, 20 insertions, 1 deletions
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;