Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.

Changed by [EMAIL PROTECTED]

http://bugzilla.ximian.com/show_bug.cgi?id=78315

--- shadow/78315        2006-09-06 12:33:22.000000000 -0400
+++ shadow/78315.tmp.25458      2006-09-06 16:10:42.000000000 -0400
@@ -327,6 +327,20 @@
         Marshal.FreeHGlobal (comInterface);
 
 
 
 ------- Additional Comments From [EMAIL PROTECTED]  2006-09-06 12:33 -------
 Robert's suggestion seems to work. Committed and marking as fixed.
+
+------- Additional Comments From [EMAIL PROTECTED]  2006-09-06 16:10 -------
+The problem was that ManagedToNativeWrapper had a destructor that 
+was only called when terminating. COM objects are freed using 
+Release so there is no need for a destructor.
+
+~VtableDestructor seems not to be called by the runtime but adding 
+if (!Environment.HasShutdownStarted) prevents it from running for 
+sure. I added reference counting to COM vtable and will only be 
+freed when there are no objects using it.
+
+Some Image objects seem not to be finalized by the GC so in fact COM 
+vtable is not freed because GDI+ holds a reference on 
+ManagedToNativeWrapper.
_______________________________________________
mono-bugs maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-bugs

Reply via email to