summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoe Shaw <joeshaw@novell.com>2005-03-13 02:05:56 +0000
committerJoe Shaw <joeshaw@novell.com>2005-03-13 02:05:56 +0000
commitd0faf63728494d0f3d0cb8ee9fc5d40982d35640 (patch)
tree40178976dbe1acbd118ff738dea83ae1710ab837
parent3fb7f1b35bb450e52ffc3ecdc26d1f9556ef2b73 (diff)
downloaddbus-d0faf63728494d0f3d0cb8ee9fc5d40982d35640.tar.gz
2005-03-12 Joe Shaw <joeshaw@novell.com>
* mono/ProxyBuilder.cs (BuildFinalizer): Need to load arg 0 onto the eval stack when removing the delegate.
-rw-r--r--ChangeLog5
-rw-r--r--mono/ProxyBuilder.cs1
2 files changed, 6 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index ffffade1..0213c9c3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
2005-03-12 Joe Shaw <joeshaw@novell.com>
+ * mono/ProxyBuilder.cs (BuildFinalizer): Need to load arg 0
+ onto the eval stack when removing the delegate.
+
+2005-03-12 Joe Shaw <joeshaw@novell.com>
+
* mono/ProxyBuilder.cs: Add a finalizer to the generated proxy
classes that disconnects the signal handler delegate from the
service object. Fixes a big leak of proxy objects on the
diff --git a/mono/ProxyBuilder.cs b/mono/ProxyBuilder.cs
index 737a82af..8308823d 100644
--- a/mono/ProxyBuilder.cs
+++ b/mono/ProxyBuilder.cs
@@ -478,6 +478,7 @@ namespace DBus
ILGenerator generator = mb.GetILGenerator();
//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.Ret);