[Mono-list] Patch for gtk-sharp/codegen/defs-parse.pl

David Dawkins david@dawkins.st
Wed, 2 Jan 2002 00:03:40 -0000


This is a multi-part message in MIME format.

------=_NextPart_000_004F_01C19320.EF2ACA40
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit

> Okay, thanks for the info.  I just committed a fix.  Can you verify it
> for me on your setup?  Thanks again.

Seems to work just fine. glib/generated/voidSignal.cs now looks
sane. I attached it, if you'd like to verify with something you know
to be "good". This is the only file in the "generated" directory, BTW.

Thanks
David

------=_NextPart_000_004F_01C19320.EF2ACA40
Content-Type: application/octet-stream;
	name="voidSignal.cs"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
	filename="voidSignal.cs"

// Generated file: Do not modify

namespace GtkSharp {

	using System;
	using System.Collections;
	using System.Runtime.InteropServices;
	using GLib;

	public delegate void voidDelegate(IntPtr window, int key);

	public class voidSignal : SignalCallback {

		private static voidDelegate _Delegate;

		private static void voidCallback(IntPtr window, int key)
		{
			if (!_Instances.Contains(key))
				throw new Exception("Unexpected signal key");

			voidSignal inst =3D (voidSignal) _Instances[key];
			SignalArgs args =3D new SignalArgs ();
			inst._handler (inst._obj, args);
		}

		[DllImport("gobject-1.3.dll", CharSet=3DCharSet.Ansi, =
CallingConvention=3DCallingConvention.Cdecl)]
		static extern void g_signal_connect_data(IntPtr obj, IntPtr name, =
voidDelegate cb, int key, IntPtr p, int flags);

		public voidSignal(GLib.Object obj, IntPtr raw, String name, =
EventHandler eh) : base(obj, eh)
		{
			if (_Delegate =3D=3D null) {
				_Delegate =3D new voidDelegate(voidCallback);
			}
			g_signal_connect_data(raw, Marshal.StringToHGlobalAnsi(name), =
_Delegate, _key, new IntPtr(0), 0);
		}

		~voidSignal()
{			_Instances.Remove(_key);
			if(_Instances.Count =3D=3D 0) {
				_Delegate =3D null;
			}
		}
	}
}

------=_NextPart_000_004F_01C19320.EF2ACA40--