+2006-09-04 Jonathan Chambers <joncham@gmail.com>
+
+ * ComIStreamMarshaler.cs: Do not deallocate unmanaged memory
+ allocated for vtable. If this finalizer runs before all clients
+ are done with it (Image(s) in this case) we crash on windows. #78315
+
2006-09-01 Sebastien Pouliot <sebastien@ximian.com>
* Bitmap.cs: Fix exceptions for LockBits.
internal ReleaseDelegate Release;
}
- private sealed class VtableDestructor
- {
- ~VtableDestructor()
- {
- Marshal.DestroyStructure(comVtable, typeof(IStreamVtbl));
- Marshal.FreeHGlobal(comVtable);
- }
+ private sealed class VtableDestructor\r
+ {\r
+ // FIXME: This causes crash on windows on shutdown.\r
+ // Any image loaded from a stream holds onto a reference\r
+ // to that stream, and calls Release on the stream when the image is\r
+ // disposed.
+ //~VtableDestructor()\r
+ //{
+ //Marshal.DestroyStructure(comVtable, typeof(IStreamVtbl));
+ //Marshal.FreeHGlobal(comVtable);
+ //}
}
private static readonly Guid IID_IUnknown = new Guid("00000000-0000-0000-C000-000000000046");