[Pkg-mono-svn-commits] rev 2610 - in gtk-sharp2/trunk/debian: . patches

Sebastian Dröge slomo-guest at costa.debian.org
Sun Jul 9 22:26:06 UTC 2006


Author: slomo-guest
Date: 2006-07-09 22:26:05 +0000 (Sun, 09 Jul 2006)
New Revision: 2610

Removed:
   gtk-sharp2/trunk/debian/patches/02_workaround-340904.dpatch
   gtk-sharp2/trunk/debian/patches/03_gnomevfs-mimetype-pinvokes.dpatch
   gtk-sharp2/trunk/debian/patches/04_list-to-array-marshalling.dpatch
   gtk-sharp2/trunk/debian/patches/05_gdk-drawable.dpatch
   gtk-sharp2/trunk/debian/patches/06_value-array-smp-free.dpatch
Modified:
   gtk-sharp2/trunk/debian/changelog
   gtk-sharp2/trunk/debian/compat
   gtk-sharp2/trunk/debian/control
   gtk-sharp2/trunk/debian/patches/00list
Log:
* update gtk#2 to 2.8.3


Modified: gtk-sharp2/trunk/debian/changelog
===================================================================
--- gtk-sharp2/trunk/debian/changelog	2006-07-09 22:03:02 UTC (rev 2609)
+++ gtk-sharp2/trunk/debian/changelog	2006-07-09 22:26:05 UTC (rev 2610)
@@ -1,3 +1,19 @@
+gtk-sharp2 (2.8.3-1) unstable; urgency=low
+
+  * Sebastian 'slomo' Dröge
+    + New upstream release
+    + debian/patches/02_workaround-340904.dpatch,
+      debian/patches/03_gnomevfs-mimetype-pinvokes.dpatch,
+      debian/patches/04_list-to-array-marshalling.dpatch,
+      debian/patches/05_gdk-drawable.dpatch,
+      debian/patches/06_value-array-smp-free.dpatch:
+      - dropped, merged upstream
+    + debian/control,
+      debian/compat:
+      - update debhelper compat level to 5
+
+ -- Debian Mono Group <pkg-mono-group at lists.alioth.debian.org>  Sun,  9 Jul 2006 23:43:04 +0200
+
 gtk-sharp2 (2.8.2-2) unstable; urgency=low
 
   * Mirco 'meebey' Bauer

Modified: gtk-sharp2/trunk/debian/compat
===================================================================
--- gtk-sharp2/trunk/debian/compat	2006-07-09 22:03:02 UTC (rev 2609)
+++ gtk-sharp2/trunk/debian/compat	2006-07-09 22:26:05 UTC (rev 2610)
@@ -1 +1 @@
-4
+5

Modified: gtk-sharp2/trunk/debian/control
===================================================================
--- gtk-sharp2/trunk/debian/control	2006-07-09 22:03:02 UTC (rev 2609)
+++ gtk-sharp2/trunk/debian/control	2006-07-09 22:26:05 UTC (rev 2610)
@@ -3,7 +3,7 @@
 Priority: optional
 Maintainer: Debian Mono Group <pkg-mono-group at lists.alioth.debian.org>
 Uploaders: Dave Beckett <dajobe at debian.org>, Mirco Bauer <meebey at meebey.net>, Sebastian Dröge <slomo at ubuntu.com>
-Build-Depends: debhelper (>= 4.1.87), cli-common-dev (>= 0.4.0), dpatch, mono-mcs (>= 1.0) | c-sharp-compiler, mono-gac (>= 1.0), monodoc-base (>= 1.0), libmono-dev, libtool, libglib2.0-dev (>= 2.8.0), libgtk2.0-dev (>= 2.8.0), libpango1.0-dev, libatk1.0-dev, libfreetype6-dev, libxml2-dev, libglade2-dev (>= 2.3.6), librsvg2-dev (>= 2.0.1), libgail-dev, libgtkhtml3.8-dev (>= 3.8.0), libgnomeui-dev (>= 2.10.0), libgnomecanvas2-dev (>= 2.10.0), libgnomeprint2.2-dev (>= 2.10.0) , libgnomeprintui2.2-dev (>= 2.10.0), libart-2.0-dev (>= 2.3.16), libvte-dev (>= 0.11.10), libpanel-applet2-dev (>= 2.10.0), libmono0 (>= 1.0), mono-utils (>= 1.0-2), libmono-cairo1.0-cil
+Build-Depends: debhelper (>= 5), cli-common-dev (>= 0.4.0), dpatch, mono-mcs (>= 1.0) | c-sharp-compiler, mono-gac (>= 1.0), monodoc-base (>= 1.0), libmono-dev, libtool, libglib2.0-dev (>= 2.8.0), libgtk2.0-dev (>= 2.8.0), libpango1.0-dev, libatk1.0-dev, libfreetype6-dev, libxml2-dev, libglade2-dev (>= 2.3.6), librsvg2-dev (>= 2.0.1), libgail-dev, libgtkhtml3.8-dev (>= 3.8.0), libgnomeui-dev (>= 2.10.0), libgnomecanvas2-dev (>= 2.10.0), libgnomeprint2.2-dev (>= 2.10.0) , libgnomeprintui2.2-dev (>= 2.10.0), libart-2.0-dev (>= 2.3.16), libvte-dev (>= 0.11.10), libpanel-applet2-dev (>= 2.10.0), libmono0 (>= 1.0), mono-utils (>= 1.0-2), libmono-cairo1.0-cil
 Standards-Version: 3.7.2
 
 Package: gtk-sharp2

Modified: gtk-sharp2/trunk/debian/patches/00list
===================================================================
--- gtk-sharp2/trunk/debian/patches/00list	2006-07-09 22:03:02 UTC (rev 2609)
+++ gtk-sharp2/trunk/debian/patches/00list	2006-07-09 22:26:05 UTC (rev 2610)
@@ -1,6 +1 @@
 01_glue-locations.dpatch
-02_workaround-340904.dpatch
-03_gnomevfs-mimetype-pinvokes.dpatch
-04_list-to-array-marshalling.dpatch
-05_gdk-drawable.dpatch
-06_value-array-smp-free.dpatch

Deleted: gtk-sharp2/trunk/debian/patches/02_workaround-340904.dpatch
===================================================================
--- gtk-sharp2/trunk/debian/patches/02_workaround-340904.dpatch	2006-07-09 22:03:02 UTC (rev 2609)
+++ gtk-sharp2/trunk/debian/patches/02_workaround-340904.dpatch	2006-07-09 22:26:05 UTC (rev 2610)
@@ -1,28 +0,0 @@
-#!/bin/sh /usr/share/dpatch/dpatch-run
-
- at DPATCH@
-
-diff -uri gtk-sharp2-2.4.0.orig/vte/glue/Makefile.am gtk-sharp2-2.4.0/vte/glue/Makefile.am
---- gtk-sharp2-2.4.0.orig/vte/glue/Makefile.am	2005-05-16 21:07:27.000000000 +0200
-+++ gtk-sharp2-2.4.0/vte/glue/Makefile.am	2006-01-20 10:55:53.000000000 +0100
-@@ -14,7 +14,7 @@
- 
- libvtesharpglue_2_la_LIBADD = $(VTE_LIBS)
- 
--INCLUDES = $(VTE_DEPENDENCIES_CFLAGS) -I$(top_srcdir)
-+INCLUDES = $(VTE_DEPENDENCIES_CFLAGS) $(GTK_CFLAGS) -I$(top_srcdir)
- 
- libvtesharpglue.dll: $(libvtesharpglue_2_la_OBJECTS) libvtesharpglue.rc libvtesharpglue.def
- 	./build-dll libvtesharpglue-2 $(VERSION)
-diff -uri gtk-sharp2-2.4.0.orig/vte/glue/Makefile.in gtk-sharp2-2.4.0/vte/glue/Makefile.in
---- gtk-sharp2-2.4.0.orig/vte/glue/Makefile.in	2005-11-03 20:07:27.000000000 +0100
-+++ gtk-sharp2-2.4.0/vte/glue/Makefile.in	2006-01-20 10:56:08.000000000 +0100
-@@ -262,7 +262,7 @@
- nodist_libvtesharpglue_2_la_SOURCES = generated.c
- libvtesharpglue_2_la_LDFLAGS = -module -avoid-version -no-undefined
- libvtesharpglue_2_la_LIBADD = $(VTE_LIBS)
--INCLUDES = $(VTE_DEPENDENCIES_CFLAGS) -I$(top_srcdir)
-+INCLUDES = $(VTE_DEPENDENCIES_CFLAGS) $(GTK_CFLAGS) -I$(top_srcdir)
- CLEANFILES = lib*.a lib*.dll
- all: all-am
- 

Deleted: gtk-sharp2/trunk/debian/patches/03_gnomevfs-mimetype-pinvokes.dpatch
===================================================================
--- gtk-sharp2/trunk/debian/patches/03_gnomevfs-mimetype-pinvokes.dpatch	2006-07-09 22:03:02 UTC (rev 2609)
+++ gtk-sharp2/trunk/debian/patches/03_gnomevfs-mimetype-pinvokes.dpatch	2006-07-09 22:26:05 UTC (rev 2610)
@@ -1,175 +0,0 @@
-#!/bin/sh /usr/share/dpatch/dpatch-run
-
- at DPATCH@
-
---- gtk-sharp/gnomevfs/MimeType.cs	2004/11/05 17:40:03	35707
-+++ gtk-sharp/gnomevfs/MimeType.cs	2006/03/27 19:43:53	58615
-@@ -27,100 +27,131 @@
- 		private string mimetype;
- 
- 		[DllImport ("gnomevfs-2")]
--		static extern string gnome_vfs_get_mime_type (string uri);
-+		static extern IntPtr gnome_vfs_get_mime_type (IntPtr uri);
- 		
- 		public MimeType (Uri uri)
- 		{
--			mimetype = gnome_vfs_get_mime_type (uri.ToString ());
-+			IntPtr uri_native = GLib.Marshaller.StringToPtrGStrdup (uri.ToString ());
-+			mimetype = GLib.Marshaller.PtrToStringGFree (gnome_vfs_get_mime_type (uri_native));
-+			GLib.Marshaller.Free (uri_native);
- 		}
- 
- 		[DllImport ("gnomevfs-2")]
--		static extern bool gnome_vfs_mime_type_is_known (string mime_type);
-+		static extern bool gnome_vfs_mime_type_is_known (IntPtr mime_type);
- 
- 		public MimeType (string mimetype)
- 		{
--			if (!gnome_vfs_mime_type_is_known (mimetype))
-+			IntPtr mimetype_native = GLib.Marshaller.StringToPtrGStrdup (mimetype);
-+			if (!gnome_vfs_mime_type_is_known (mimetype_native))
- 				throw new ArgumentException ("Unknown mimetype");
- 			this.mimetype = mimetype;
-+			GLib.Marshaller.Free (mimetype_native);
- 		}
- 		
- 		[DllImport ("gnomevfs-2")]
--		static extern string gnome_vfs_get_mime_type_for_data (ref byte data, int size);
-+		static extern IntPtr gnome_vfs_get_mime_type_for_data (ref byte data, int size);
- 		
- 		public MimeType (byte[] buffer, int size)
- 		{
--			mimetype = gnome_vfs_get_mime_type_for_data (ref buffer[0], size);
-+			mimetype = GLib.Marshaller.Utf8PtrToString (gnome_vfs_get_mime_type_for_data (ref buffer[0], size));
- 		}
- 		
- 		[DllImport ("gnomevfs-2")]
--		static extern MimeActionType gnome_vfs_mime_get_default_action_type (string mime_type);
-+		static extern MimeActionType gnome_vfs_mime_get_default_action_type (IntPtr mime_type);
- 		
- 		[DllImport ("gnomevfs-2")]
--		static extern Result gnome_vfs_mime_set_default_action_type (string mime_type, MimeActionType action_type);
-+		static extern Result gnome_vfs_mime_set_default_action_type (IntPtr mime_type, MimeActionType action_type);
- 
- 		public MimeActionType DefaultActionType {
- 			get {
--				return gnome_vfs_mime_get_default_action_type (mimetype);
-+				IntPtr mimetype_native = GLib.Marshaller.StringToPtrGStrdup (mimetype);
-+				MimeActionType result = gnome_vfs_mime_get_default_action_type (mimetype_native);
-+				GLib.Marshaller.Free (mimetype_native);
-+				return result;
- 			}
- 			set {
--				Result result = gnome_vfs_mime_set_default_action_type (mimetype, value);
-+				IntPtr mimetype_native = GLib.Marshaller.StringToPtrGStrdup (mimetype);
-+				Result result = gnome_vfs_mime_set_default_action_type (mimetype_native, value);
-+				GLib.Marshaller.Free (mimetype_native);
- 				Vfs.ThrowException (result);
- 			}
- 		}
- 		
- 		[DllImport ("gnomevfs-2")]
--		static extern MimeAction gnome_vfs_mime_get_default_action (string mime_type);
-+		static extern MimeAction gnome_vfs_mime_get_default_action (IntPtr mime_type);
- 
- 		public MimeAction DefaultAction {
- 			get {
--				return gnome_vfs_mime_get_default_action (mimetype);
-+				IntPtr mimetype_native = GLib.Marshaller.StringToPtrGStrdup (mimetype);
-+				MimeAction result = gnome_vfs_mime_get_default_action (mimetype_native);
-+				GLib.Marshaller.Free (mimetype_native);
-+				return result;
- 			}
- 		}
- 		
- 		[DllImport ("gnomevfs-2")]
--		static extern string gnome_vfs_mime_get_description (string mime_type);
-+		static extern IntPtr gnome_vfs_mime_get_description (IntPtr mime_type);
- 
- 		[DllImport ("gnomevfs-2")]
--		static extern Result gnome_vfs_mime_set_description (string mime_type, string description);
-+		static extern Result gnome_vfs_mime_set_description (IntPtr mime_type, IntPtr description);
- 
- 		public string Description {
- 			get {
--				return gnome_vfs_mime_get_description (mimetype);
-+				IntPtr mimetype_native = GLib.Marshaller.StringToPtrGStrdup (mimetype);
-+				string result = GLib.Marshaller.Utf8PtrToString (gnome_vfs_mime_get_description (mimetype_native));
-+				GLib.Marshaller.Free (mimetype_native);
-+				return result;
- 			}
- 			set {
--				Result result = gnome_vfs_mime_set_description (mimetype, value);
-+				IntPtr mimetype_native = GLib.Marshaller.StringToPtrGStrdup (mimetype);
-+				IntPtr desc_native = GLib.Marshaller.StringToPtrGStrdup (value);
-+				Result result = gnome_vfs_mime_set_description (mimetype_native, desc_native);
-+				GLib.Marshaller.Free (mimetype_native);
-+				GLib.Marshaller.Free (desc_native);
- 				Vfs.ThrowException (result);
- 			}
- 		}
- 		
- 		[DllImport ("gnomevfs-2")]
--		static extern string gnome_vfs_mime_get_icon (string mime_type);
-+		static extern IntPtr gnome_vfs_mime_get_icon (IntPtr mime_type);
- 		
- 		[DllImport ("gnomevfs-2")]
--		static extern Result gnome_vfs_mime_set_icon (string mime_type, string filename);
-+		static extern Result gnome_vfs_mime_set_icon (IntPtr mime_type, IntPtr filename);
- 		
- 		public string Icon {
- 			get {
--				return gnome_vfs_mime_get_icon (mimetype);
-+				IntPtr mimetype_native = GLib.Marshaller.StringToPtrGStrdup (mimetype);
-+				string result = GLib.Marshaller.Utf8PtrToString (gnome_vfs_mime_get_icon (mimetype_native));
-+				GLib.Marshaller.Free (mimetype_native);
-+				return result;
- 			}
- 			set {
--				Result result = gnome_vfs_mime_set_icon (mimetype, value);
-+				IntPtr mimetype_native = GLib.Marshaller.StringToPtrGStrdup (mimetype);
-+				IntPtr icon_native = GLib.Marshaller.StringToPtrGStrdup (value);
-+				Result result = gnome_vfs_mime_set_icon (mimetype_native, icon_native);
-+				GLib.Marshaller.Free (mimetype_native);
-+				GLib.Marshaller.Free (icon_native);
- 				Vfs.ThrowException (result);
- 			}
- 		}
- 
- 		[DllImport ("gnomevfs-2")]
--		static extern bool gnome_vfs_mime_can_be_executable (string mime_type);
-+		static extern bool gnome_vfs_mime_can_be_executable (IntPtr mime_type);
- 
- 		[DllImport ("gnomevfs-2")]
--		static extern Result gnome_vfs_mime_set_can_be_executable (string mime_type, bool value);
-+		static extern Result gnome_vfs_mime_set_can_be_executable (IntPtr mime_type, bool value);
- 		
- 		public bool CanBeExecutable {
- 			get {
--				return gnome_vfs_mime_can_be_executable (mimetype);
-+				IntPtr mimetype_native = GLib.Marshaller.StringToPtrGStrdup (mimetype);
-+				bool result = gnome_vfs_mime_can_be_executable (mimetype_native);
-+				GLib.Marshaller.Free (mimetype_native);
-+				return result;
- 			}
- 			set {
--				Result result = gnome_vfs_mime_set_can_be_executable (mimetype, value);
-+				IntPtr mimetype_native = GLib.Marshaller.StringToPtrGStrdup (mimetype);
-+				Result result = gnome_vfs_mime_set_can_be_executable (mimetype_native, value);
-+				GLib.Marshaller.Free (mimetype_native);
- 				Vfs.ThrowException (result);
- 			}
- 		}
-@@ -138,7 +169,10 @@
- 		
- 		public static string GetMimeTypeForUri (string uri)
- 		{
--			return gnome_vfs_get_mime_type (uri);
-+			IntPtr uri_native = GLib.Marshaller.StringToPtrGStrdup (uri.ToString ());
-+			string mimetype = GLib.Marshaller.PtrToStringGFree (gnome_vfs_get_mime_type (uri_native));
-+			GLib.Marshaller.Free (uri_native);
-+			return mimetype;
- 		}
- 	}
- }
-

Deleted: gtk-sharp2/trunk/debian/patches/04_list-to-array-marshalling.dpatch
===================================================================
--- gtk-sharp2/trunk/debian/patches/04_list-to-array-marshalling.dpatch	2006-07-09 22:03:02 UTC (rev 2609)
+++ gtk-sharp2/trunk/debian/patches/04_list-to-array-marshalling.dpatch	2006-07-09 22:26:05 UTC (rev 2610)
@@ -1,50 +0,0 @@
-#!/bin/sh /usr/share/dpatch/dpatch-run
-
- at DPATCH@
-
---- gtk-sharp/glib/Marshaller.cs	2006/01/14 14:07:27	55575
-+++ gtk-sharp/glib/Marshaller.cs	2006/03/27 18:35:08	58609
-@@ -286,6 +286,10 @@
- 			Array result = Array.CreateInstance (type, list.Count);
- 			if (list.Count > 0)
- 				list.CopyTo (result, 0);
-+
-+			if (type.IsSubclassOf (typeof (GLib.Opaque)))
-+				list.elements_owned = false;
-+
- 			return result;
- 		}
- 	}
-
---- gtk-sharp/glib/ListBase.cs	2005/06/23 22:28:06	46457
-+++ gtk-sharp/glib/ListBase.cs	2006/03/27 18:35:08	58609
-@@ -31,7 +31,7 @@
- 		private IntPtr list_ptr = IntPtr.Zero;
- 		private int length = -1;
- 		private bool managed = false;
--		private bool elements_owned = false;
-+		internal bool elements_owned = false;
- 		protected System.Type element_type = null;
- 
-                 abstract internal IntPtr NthData (uint index);
-@@ -134,6 +134,8 @@
- 					ret = data;
- 				else if (element_type.IsSubclassOf (typeof (GLib.Object)))
- 					ret = GLib.Object.GetObject (data, false);
-+				else if (element_type.IsSubclassOf (typeof (GLib.Opaque)))
-+					ret = GLib.Opaque.GetOpaque (data, element_type, elements_owned);
- 				else if (element_type == typeof (int))
- 					ret = (int) data;
- 				else if (element_type.IsValueType)
-@@ -159,7 +161,9 @@
- 				for (uint i = 0; i < Count; i++)
- 					if (typeof (GLib.Object).IsAssignableFrom (element_type))
- 						g_object_unref (NthData (i));
--					else
-+					else if (typeof (GLib.Opaque).IsAssignableFrom (element_type))
-+						GLib.Opaque.GetOpaque (NthData (i), element_type, true).Dispose ();
-+					else 
- 						g_free (NthData (i));
- 
- 			if (managed)
-

Deleted: gtk-sharp2/trunk/debian/patches/05_gdk-drawable.dpatch
===================================================================
--- gtk-sharp2/trunk/debian/patches/05_gdk-drawable.dpatch	2006-07-09 22:03:02 UTC (rev 2609)
+++ gtk-sharp2/trunk/debian/patches/05_gdk-drawable.dpatch	2006-07-09 22:26:05 UTC (rev 2610)
@@ -1,44 +0,0 @@
-#!/bin/sh /usr/share/dpatch/dpatch-run
-
- at DPATCH@
-
---- gtk-sharp/doc/en/Gdk/Drawable.xml	2005/12/09 23:12:49	54175
-+++ gtk-sharp/doc/en/Gdk/Drawable.xml	2006/05/02 22:36:43	60196
-@@ -19,22 +19,19 @@
-   </Interfaces>
-   <Members>
-     <Member MemberName="DrawPoints">
--      <MemberSignature Language="C#" Value="public void DrawPoints (Gdk.GC gc, Gdk.Point points, int npoints);" />
-+      <MemberSignature Language="C#" Value="public void DrawPoints (Gdk.GC gc, Gdk.Point[] points);" />
-       <MemberType>Method</MemberType>
-       <ReturnValue>
-         <ReturnType>System.Void</ReturnType>
-       </ReturnValue>
-       <Parameters>
-         <Parameter Name="gc" Type="Gdk.GC" />
--        <Parameter Name="points" Type="Gdk.Point" />
--        <Parameter Name="npoints" Type="System.Int32" />
-+        <Parameter Name="points" Type="Gdk.Point[]" />
-       </Parameters>
-       <Docs>
-         <summary>Draws a number of points using the given graphics context.</summary>
-         <param name="gc">A <see cref="T:Gdk.GC" /></param>
-         <param name="points">An array of  <see cref="T:Gdk.Point" /> objects.</param>
--        <param name="npoints">A <see cref="T:System.Int32" /></param>
--        <remarks>NOTE: Drawable.custom needs to be fixed to implement this properly.</remarks>
-       </Docs>
-     </Member>
-     <Member MemberName="DrawLayoutWithColors">
-
---- gtk-sharp/gdk/Gdk.metadata	2005/12/13 17:11:31	54308
-+++ gtk-sharp/gdk/Gdk.metadata	2006/05/03 15:00:25	60222
-@@ -76,6 +76,8 @@
-   <attr path="/api/namespace/object[@cname='GdkDrawable']/method[@name='DrawRgb32Image']/*/*[@name='buf']" name="array">1</attr>
-   <attr path="/api/namespace/object[@cname='GdkDrawable']/method[@name='DrawRgb32ImageDithalign']/*/*[@name='buf']" name="array">1</attr>
-   <attr path="/api/namespace/object[@cname='GdkDrawable']/method[@name='DrawLines']" name="hidden">1</attr>
-+  <attr path="/api/namespace/object[@cname='GdkDrawable']/method[@name='DrawPoints']/*/*[@name='points']" name="array">1</attr>
-+  <attr path="/api/namespace/object[@cname='GdkDrawable']/method[@name='DrawPoints']/*/*[@name='npoints']" name="name">n_points</attr>
-   <attr path="/api/namespace/object[@cname='GdkDrawable']/method[@name='DrawPolygon']" name="hidden">1</attr>
-   <attr path="/api/namespace/object[@cname='GdkDrawable']/method[@name='GetSize']/*/*[@type='gint*']" name="pass_as">out</attr>
-   <attr path="/api/namespace/object[@cname='GdkDrawable']/method[@name='SetData']/*/*[@name='destroy_func']" name="type">gpointer</attr>
-

Deleted: gtk-sharp2/trunk/debian/patches/06_value-array-smp-free.dpatch
===================================================================
--- gtk-sharp2/trunk/debian/patches/06_value-array-smp-free.dpatch	2006-07-09 22:03:02 UTC (rev 2609)
+++ gtk-sharp2/trunk/debian/patches/06_value-array-smp-free.dpatch	2006-07-09 22:26:05 UTC (rev 2610)
@@ -1,53 +0,0 @@
-#!/bin/sh /usr/share/dpatch/dpatch-run
-
- at DPATCH@
-
---- gtk-sharp/glib/ValueArray.cs	2004/12/07 19:03:55	37324
-+++ gtk-sharp/glib/ValueArray.cs	2006/05/08 20:45:48	60424
-@@ -29,6 +29,9 @@
- 
- 		private IntPtr handle = IntPtr.Zero;
- 
-+		static private ArrayList PendingFrees = new ArrayList ();
-+		static private bool idle_queued = false;
-+
- 		[DllImport("libgobject-2.0-0.dll")]
- 		static extern IntPtr g_value_array_new (uint n_preallocs);
- 
-@@ -62,9 +65,35 @@
- 			if (Handle == IntPtr.Zero)
- 				return;
- 
--			g_value_array_free (Handle);
-+			lock (PendingFrees) {
-+				PendingFrees.Add (handle);
-+
-+				if (! idle_queued) {
-+					Timeout.Add (50, new TimeoutHandler (PerformFrees));
-+					idle_queued = true;
-+				}
-+			}
-+
- 			handle = IntPtr.Zero;
- 		}
-+
-+		static bool PerformFrees ()
-+		{
-+			IntPtr[] handles;
-+
-+			lock (PendingFrees) {
-+				idle_queued = false;
-+
-+				handles = new IntPtr [PendingFrees.Count];
-+				PendingFrees.CopyTo (handles, 0);
-+				PendingFrees.Clear ();
-+			}
-+
-+			foreach (IntPtr h in handles)
-+				g_value_array_free (h);
-+
-+			return false;
-+		}
- 		
- 		public IntPtr Handle {
- 			get {




More information about the Pkg-mono-svn-commits mailing list