2008-08-20  Mike Kestner  <mkestner@novell.com>

	* generator/ReturnValue.cs: use new ListPtrToArray marshaler for
	lists with known element types.
	* glib/Marshaller.cs: new ListPtrToArray marshaller with more
	aggressive list disposal.
	* gtk/Container.custom: remove manual Children impl.  Use Children
	in GetEnumerator instead of pinvoking directly.
	* gtk/Gtk.metadata: remove hidden attr and add element type and owned 
	for Container.GetChildren to generate it properly.

2008-08-20  Mike Kestner  <mkestner@novell.com>

	Patch from Christian Hoff fixing bug #396195.
	* generator/Property.cs: handle interface adapter values.
	* generator/InterfaceGen.cs: register the gtype so mapping occurs
	automatically for interface adapters.  New GetObject overload to
	handle already wrapped objects more efficiently.
	* glib/Value.cs: handle set_Val for interface adapter objects.

2008-08-19  Brad Taylor  <brad@getcoded.net>
	
	* atk/Object.custom: Add method to allow emission of
	  visible-data-changed signal.

	* atk/TextChangedDetail.cs: 
	* atk/TextAdapter.custom: Add method to allow emission of text-changed
	  signal.

2008-08-13  Mike Kestner  <mkestner@novell.com>

	* atk/Atk.metadata: switch Value methods to ref params since atk
	actually checks for initialized values instead of just treating it
	like uninitialized memory.  Makes for uglier API, but avoids crashes
	in unfortunate memory content scenarios.

2008-08-04  Mike Kestner  <mkestner@novell.com>

	* gtk/IconTheme.custom: elements and the list returned by
	ListIcons are owned.

2008-08-04  Mike Kestner  <mkestner@novell.com>

	* gtk/Gtk.metadata: mark IconTheme.LoadIcon return as owned.

2008-07-23  Mike Kestner  <mkestner@novell.com>

	* atk/Atk.metadata: map some out params on Atk.Value.  They
	were unusable in their existing form.

2008-07-08  Mike Kestner  <mkestner@novell.com>

	Patch from Christian Hoff with a few minor tweaks.
	* generator/CallbackGen.cs: refactor to use ManagedCallString
	and drop a ton of redundant, half-baked code.
	* generator/ManagedCallString.cs: add Unconditional setup
	method for stuff that has to happen before the try block.
	Add "drop_first" concept so it can be reused by CallbackGen
	which doesn't drop first params.
	* generator/Signal.cs: use Unconditional method for prep.
	* generator/VirtualMethod.cs: use Unconditional method for prep.
	* gtk/Gtk.metadata: mark a ref param. [Fixes #394352]
	
2008-06-28  Mike Kestner  <mkestner@novell.com>

	* gtk/Gtk.metadata: mark ListStore.Reorder array param.
	* gtk/ListStore.cs: compat obsolete method, though the old one 
	was useless.

2008-06-28  Mike Kestner  <mkestner@novell.com>

	* glib/Marshaller.cs: some 64 bit fixes for time_t marshaling
	issue found by Federico.

2008-06-28  Mike Kestner  <mkestner@novell.com>

	* gtk/TreeSelection.custom: use list marshaler to avoid O(n^2)
	copy from old custom code.  [Fixes #404669]

2008-06-28  Mike Kestner  <mkestner@novell.com>

	* gtk/Gtk.metadata: mark a const string. [Fixes #404630]

2008-06-27  Mike Kestner  <mkestner@novell.com>

	* gtk/Gtk.metadata: fix a couple out params.

2008-06-20  Mike Kestner  <mkestner@novell.com>

	* glib/Value.cs: Patch from Christian Hoff.  Support for byte and
	sbyte values.

2008-06-17  Mike Kestner  <mkestner@novell.com>

	* glib/SignalClosure.cs: post back the gvalues after the closure is
	invoked using a new Update method on GLib.Value.  This only impacts
	boxed types, since they are the only "value types" passed by ref in
	the signal marshaling environment.  We can't call set_boxed on the
	value to update it, since that allocs new memory, we need to marshal
	the updated struct out to the existing native memory address using
	g_value_get_boxed.
	* glib/Value.cs (Update): new update method for writing values to
	an existing boxed type instance instead of allocating a new native
	struct.  Fixes #398929.

2008-06-17  Mike Kestner  <mkestner@novell.com>

	* glib/GType.cs (LookupType): traversed referenced assemblies to
	find types in currently unloaded assemblies.  Fixes #400595.

2008-06-16  Andrés G. Aragoneses <aaragoneses@novell.com>

	* atk/Object.custom:
	* atk/glue/object.c:
	Simplified code for previous issue (recommendation from mkestner).

2008-06-16  Mike Kestner  <mkestner@novell.com>

	* glib/glue/object.c: fixes for object, boxed, and gtype
	property paramspec creation. Patch provided by Christian Hoff.

2008-06-09  Andrés G. Aragoneses <aaragoneses@novell.com>

	* atk/Object.custom:
	* atk/glue/object.c:
	Temporary workaround for infinite recursion issue.

2008-06-06  Andrés G. Aragoneses <aaragoneses@novell.com>

	* glib/glue/thread.c: Fix a warning.

2008-06-06  Mike Kestner  <mkestner@novell.com>

	Initial Patch submitted by Christian Hoff with some small
	style alterations and a round trip sample by me.  Supports the 
	registration of managed properties with the GType system, so 
	that things like custom cell renderers can be accessed via the
	native property system from treeview.

	* glib/glue/object.c : property registration related glue.
	* glib/Object.cs: implement managed property registration.
	* glib/PropertyAttribute.cs: add new props and ctor for managed
	property registration.
	* sample/PropertyRegistration.cs: little test app to test round-
	tripping of registered properties.
	* sample/Makefile.am: add new sample.

2008-06-06  Mike Kestner  <mkestner@novell.com>

	* atk/Object.custom: use 'as StateSet' instead of cast to avoid
	cast exceptions in the null case. Apparently it's not an exception
	any more, according to folks on #monodev.  I still prefer as for
	GetObject 'casting'.

2008-06-06  Andres G. Aragoneses <aaragoneses@novell.com> 

	* atk/Object.custom:
	* atk/glue/object.c: Implement virtual method OnRefStateSet().

2008-05-30  Mike Kestner  <mkestner@novell.com>

	* gdk/Pixbuf.custom: don't use the autogenerated PixbufDestroyNative
	delegate type since is has a byte[] parameter that blows up.

2008-05-30  Mike Kestner  <mkestner@novell.com>

	* gtk/Object.custom:
	* gtk/glue/object.c: remove the destroy override.  it doesn't work.

2008-05-28  Mike Kestner  <mkestner@novell.com>

	* gtk/Object.custom: move Dispose call to a vm override so that
	it runs after all signals and native overrides have run.
	* gtk/glue/object.c: destroy override implementation.

2008-05-28  Lluis Sanchez Gual  <lluis@novell.com>

	* gtk/Object.custom: If all destroy handlers have been
	unregistered, remove the hashtable entry since it is
	not needed anymore.

2008-05-27  Mike Kestner  <mkestner@novell.com>

	* generator/Method.cs (GenerateBody): when generating value type
	methods, we should demarshal the 'this' memory before any ref or
	out parameters in the event that someone passes 'this' as a param.
	That will ensure that an updated value coming back from the native
	side ends up in the memory location.

2008-05-22  Mike Kestner  <mkestner@novell.com>

	* gtk/Widget.custom: guard against MissingIntPtrCtorException in
	the Activate and SetScrollAdjustments funky signal VM impl. Can't
	use SignalClosure easily.  Could be reworked more cleanly at some
	point.  Or not.

2008-05-21  Mike Kestner  <mkestner@novell.com>

	* gtk/Object.custom (OnDestroyed): ensure Dispose runs even if
	no Destroyed handlers are connected.

2008-05-21  Mike Kestner  <mkestner@novell.com>

	* gtk/Application.cs (CurrentEvent): use Event.GetEvent to retrieve
	an explicit event subclass.

2008-05-15  Mike Kestner  <mkestner@novell.com>

	* kill the makefile.win32 build system.  it has been unmaintained
	for quite some time, replaced by the auto* build in cygwin.

2008-05-14  Andres G. Aragoneses <aaragoneses@novell.com> 

	* atk/Object.custom: Track API changes in GLib.Signal.
	* glib/Signal.cs: AddEmissionHook binding (for closing #386950), and
	  change API of Emit to mimic the detailed_signal pattern.
	* glib/GType.cs: GType.FromName: new wrapper for native call.
	* glib/ObjectManager.cs: Use the new FromName managed method.

2008-05-08  Mike Kestner  <mkestner@novell.com>

	* atk/atk-api-2.12.raw: reparsed.
	* gdk/gdk-api-2.12.raw: reparsed.
	* gtk/gtk-api-2.12.raw: reparsed.
	* parser/gapi2xml.pl: fixes for signal and vm order needed for 
	proper interface struct layout. [Fixes #386802]

2008-05-07  Stephane Delcroix  <sdelcroix@novell.com>

	* gtk/Object.custom: swap the event removing and destroy calls.

2008-05-07  Andres G. Aragoneses  <aaragoneses@novell.com>

	* atk/Object.custom, atk/glue/object.c: Remove unneeded
	return types (I don't  know why gcc ever let this compile...).

2008-05-06  Mike Kestner  <mkestner@novell.com>

	* glib/Object.cs: revert the connection optimization from r102349.
	It breaks under the current CellRenderer implementation which probably
	can't be reworked compatibly to take advantage of this code.
	* glib/SignalClosure.cs: use IntPtr.ToInt64 instead of (long) since
	the cast apparently has issues on bleeding edge mono.

2008-05-06  Mike Kestner  <mkestner@novell.com>

	* gtk/Gtk.metadata: mark Rc.DefaultFiles accessors as null_term_array.

2008-05-02  Mike Kestner  <mkestner@novell.com>

	* generator/GenerationInfo.cs:  refactor glue writer implementation
	so that GlueEnabled means there is a valid glue writer available.
	Avoids crashes in scenarios where an unwriteable glue path is provided
	to the generator.  Generate a glue function which scans the type
	hierarchy of an object for the most-derived unmanaged ancestor so
	that we can invoke class methods on it, avoiding infinite recursions.
	* generator/Signal.cs: revamp the default handler vm overriding 
	mechanism.  When class fields exist which can be directly hooked into,
	we now generate glue to override and chain up to unmanaged base funcs.
	This avoids some strangeness in the g_signal_override_class_closure
	and g_signal_chain_from_overridden reported in #332300 and also lays
	the groundwork for automated generation of non-signal VMs.
	* gtk/Gtk.metadata: block signal glue generation for a few types which 
	don't seem to install headers.

2008-05-02  Mike Kestner  <mkestner@novell.com>

	* glib/Object.cs: Don't bother hooking VM into the class field
	if another managed ancestor has already done so.  Add a LogFunc
	printing a stack trace for the GObject log domain if GTK_SHARP_DEBUG
	is set in the environment.  It's a bit noisy to do unconditionally.

2008-05-02  Mike Kestner  <mkestner@novell.com>

	* gtk/Object.custom: some NULL guarding in Dispose and 
	Destroy handling.

2008-05-02  Mike Kestner  <mkestner@novell.com>

	* atk/Atk.metadata: hide Global.AddGlobalEventListener.
	* atk/Global.custom: AddGlobalEventListener impl.
	* atk/Util.custom: AddGlobalEventListenerHandler prop.
	[Fixes the rest of #365437]

2008-05-01  Mike Kestner  <mkestner@novell.com>

	* gtk/gtk-api-2.12.raw: regen, removes some private printing API.
	* source/gtk-sharp-2.12-sources.xml: hide some private printing API.

2008-05-01  Mike Kestner  <mkestner@novell.com>

	* generator/InterfaceGen.cs: use CName and mangle it.  ClassFieldName
	is not guaranteed to be set now.
	* generator/Signal.cs: read ClassFieldName from the api xml.  Move 
	glue writer lookup inside the block to avoid exceptions for now.

2008-04-30  Mike Kestner  <mkestner@novell.com>

	* generator/InterfaceGen.cs:
	* generator/Signal.cs: use generic signal marshaling instead of
	generating signature specific marshaling callbacks.
	* glib/glue/closure.c: glue for new closure impl.
	* glib/Object.cs: open up a couple hashes internally. 
	* glib/Signal.cs: hook in closure based connection and expose
	EmissionHook functionality for atk usage.
	* glib/SignalClosure.cs: new generic signal marshaling mechanism.
	* glib/ToggleRef.cs: null guarding in Target and let Signal remove
	itself from hash when it disposes itself.

2008-04-30  Mike Kestner  <mkestner@novell.com>

	* parser/gapi2xml.pl: put class struct field in the signal elems.
	* atk/atk-api-2.12.raw:
	* gdk/gdk-api-2.12.raw:
	* gtk/gtk-api-2.12.raw:

2008-04-28  Mike Kestner  <mkestner@novell.com>

	* glib/Value.cs : Add GParam support and beef up the Boxed
	type marshaling to support types with New methods via reflection.

2008-04-28  Mike Kestner  <mkestner@novell.com>

	* glib/GType.cs : Add a few missing static fields.

2008-04-24  Mike Kestner  <mkestner@novell.com>

	* gdk/Window.custom (Destroy): take a normal ref for the native
	method to release, and Dispose our toggle ref.  Fixes #382186.

2008-04-24  Andres G. Aragoneses  <aaragoneses@novell.com>

	* glib/Signal.cs: Remove unneeded cast.

2008-04-24  Andres G. Aragoneses  <aaragoneses@novell.com>

	* atk/Object.custom: custom protected method for firing
	the ChildrenChanged signal.
	* glib/Signal.cs: first implementation of a managed
	method for emitting signals.