From f33453896716e69cacd0d065b7cc633258678946 Mon Sep 17 00:00:00 2001 From: Owen Fraser-Green Date: Wed, 24 Mar 2004 13:15:20 +0000 Subject: Made all DBusTypes take Service in the constructor because Array also needed it in the case of an array of OBJECT_PATH objects. --- mono/ProxyBuilder.cs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'mono/ProxyBuilder.cs') diff --git a/mono/ProxyBuilder.cs b/mono/ProxyBuilder.cs index 06bdeecb..5bbf3e41 100644 --- a/mono/ProxyBuilder.cs +++ b/mono/ProxyBuilder.cs @@ -108,7 +108,7 @@ namespace DBus for (int parN = 0; parN < pars.Length; parN++) { ParameterInfo par = pars[parN]; if (!par.IsOut) { - EmitIn(generator, par.ParameterType, parN); + EmitIn(generator, par.ParameterType, parN, serviceF); } } @@ -145,7 +145,7 @@ namespace DBus typeB.DefineMethodOverride(methodBuilder, method); } - private void EmitIn(ILGenerator generator, Type parType, int parN) + private void EmitIn(ILGenerator generator, Type parType, int parN, FieldInfo serviceF) { Type inParType = Arguments.MatchType(parType); //generator.EmitWriteLine("methodCall.Arguments.Append(...)"); @@ -157,6 +157,7 @@ namespace DBus object[] pars = new object[] {generator, parType}; inParType.InvokeMember("EmitMarshalIn", BindingFlags.Static | BindingFlags.Public | BindingFlags.InvokeMethod, null, null, pars, null); + generator.Emit(OpCodes.Ldsfld, serviceF); generator.Emit(OpCodes.Newobj, Arguments.GetDBusTypeConstructor(inParType, parType)); generator.EmitCall(OpCodes.Callvirt, Arguments_AppendMI, null); } -- cgit