2003-11-28 Miguel de Icaza <miguel@ximian.com>
authorMiguel de Icaza <miguel@gnome.org>
Sat, 29 Nov 2003 22:11:47 +0000 (22:11 -0000)
committerMiguel de Icaza <miguel@gnome.org>
Sat, 29 Nov 2003 22:11:47 +0000 (22:11 -0000)
commit9c71c3ddf2d168344f5082428274148f432f9f24
tree0070292e0093089f9c6b612b0dbe96d7b4ca042f
parent9e5b38c8a2cb05033f35d530bdb62298d5f99c55
2003-11-28  Miguel de Icaza  <miguel@ximian.com>

* Mono.Cairo/Object.cs:

* Mono.Cairo/Surface.cs (LookupSurface): New method, it took me a
while to find out why Cairo applications would crash sometimes.
The problem was that Cairo.Object:TargetSurface get property would
create a Surface from an IntPtr, leading to having two managed
objects owning the same unmanaged Surface.

(Surface..ctor): Make private, so only this module can create
surfaces.

(Surface.Dispose): Add disposable pattern, finalizer.

* Mono.Cairo/Object.cs: Add disposable pattern, finalizer.

svn path=/trunk/mcs/; revision=20606
mcs/class/Mono.Cairo/ChangeLog
mcs/class/Mono.Cairo/Mono.Cairo/Cairo.cs
mcs/class/Mono.Cairo/Mono.Cairo/Object.cs
mcs/class/Mono.Cairo/Mono.Cairo/Surface.cs