mirror of
https://gitlab.freedesktop.org/dbus/dbus.git
synced 2026-02-19 21:40:42 +01:00
2005-03-15 Joe Shaw <joeshaw@novell.com>
* mono/ProxyBuilder.cs (BuildFinalizer): Fix some invalid IL when generating the finalizer. Fixes from Ben Maurer.
This commit is contained in:
parent
42287b94d1
commit
bcdd185483
2 changed files with 11 additions and 4 deletions
|
|
@ -1,3 +1,8 @@
|
|||
2005-03-15 Joe Shaw <joeshaw@novell.com>
|
||||
|
||||
* mono/ProxyBuilder.cs (BuildFinalizer): Fix some invalid IL when
|
||||
generating the finalizer. Fixes from Ben Maurer.
|
||||
|
||||
2005-03-12 Joe Shaw <joeshaw@novell.com>
|
||||
|
||||
* mono/BusDriver.cs: Update method names: ListServices
|
||||
|
|
|
|||
|
|
@ -468,7 +468,7 @@ namespace DBus
|
|||
generator.Emit(OpCodes.Ret);
|
||||
}
|
||||
|
||||
public void BuildFinalizer (TypeBuilder tb, FieldInfo fi)
|
||||
public void BuildFinalizer (TypeBuilder tb, FieldInfo serviceF, FieldInfo deleF)
|
||||
{
|
||||
// Note that this is a *HORRIBLE* example of how to build a finalizer
|
||||
// It doesn't use the try/finally to chain to Object::Finalize. However,
|
||||
|
|
@ -485,8 +485,10 @@ namespace DBus
|
|||
|
||||
//generator.EmitWriteLine("this.service.SignalCalled -= this.delegate_created");
|
||||
generator.Emit (OpCodes.Ldarg_0);
|
||||
generator.Emit (OpCodes.Ldfld, fi);
|
||||
generator.Emit (OpCodes.Call, Service_RemoveSignalCalledMI);
|
||||
generator.Emit (OpCodes.Ldfld, serviceF);
|
||||
generator.Emit (OpCodes.Ldarg_0);
|
||||
generator.Emit (OpCodes.Ldfld, deleF);
|
||||
generator.EmitCall (OpCodes.Callvirt, Service_RemoveSignalCalledMI, null);
|
||||
generator.Emit (OpCodes.Ret);
|
||||
}
|
||||
|
||||
|
|
@ -556,7 +558,7 @@ namespace DBus
|
|||
FieldBuilder deleF = typeB.DefineField("delegate_created",
|
||||
typeof(Service.SignalCalledHandler),
|
||||
FieldAttributes.Private);
|
||||
BuildFinalizer (typeB, deleF);
|
||||
BuildFinalizer (typeB, serviceF, deleF);
|
||||
|
||||
MethodInfo signalCalledMI = BuildSignalCalled(ref typeB, serviceF, pathF);
|
||||
BuildConstructor(ref typeB, serviceF, pathF, signalCalledMI, deleF);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue